Best Practices zur Implementierung einfacher Jira-Projekte mit React+TS

Best Practices zur Implementierung einfacher Jira-Projekte mit React+TS

Eine Reihe von Projekten für die Ausbildung
reagieren+ts
Obwohl der Inhalt geringer ist, gibt es viel Trockenware, insbesondere die Kapselung von Hooks, das Verständnis von TS-Generika und die Verwendung des Projektcodes der nächsten Ebene: https://gitee.com/fine509/react_jiar

Rendern

Bildbeschreibung hier einfügen
Bildbeschreibung hier einfügen
Bildbeschreibung hier einfügen

Dies sind die drei Hauptseiten und einige kleine Details

Bildbeschreibung hier einfügen
Bildbeschreibung hier einfügen
Bildbeschreibung hier einfügen
usw.

Einige erwähnenswerte Punkte (es werden nur die allgemeinen Funktionen besprochen, keine spezifischen Details zu ihrer Verwendung)

Bildbeschreibung hier einfügen

Verwenden Sie die Fehlergrenzenverarbeitung und getDerivedStateFromError, um die Fehlerkomponente anzuzeigen, anstatt aufzuhängen, wenn irgendwo auf einer Seite ein Fehler auftritt.

Verwendung von useSearchParams

Bildbeschreibung hier einfügen
Bildbeschreibung hier einfügen

Diese API kann unsere Parameter hier abrufen und festlegen.

Verwendung von react-query

Bildbeschreibung hier einfügen
Bildbeschreibung hier einfügen
Bildbeschreibung hier einfügen

Die Bibliothek wird online als Statusverwaltungsbibliothek zur Verwaltung serverseitiger Daten vorgestellt. Sie scheint Redux ein wenig ähnlich zu sein, erfordert aber nicht das Schreiben vieler Aktionen und Reduzierer. Sie unterstützt asynchrone Anforderungen, verwendet Schlüssel zur eindeutigen Identifizierung von Daten und hat einen ähnlichen Platz wie eine globale Statusverwaltungsbibliothek. Es eignet sich besonders für bestimmte Tabellen, beispielsweise zum Hinzufügen, Löschen, Ändern und Überprüfen, und unterstützt auch optimistische Aktualisierungen. Die Idee ist, dass Sie beispielsweise beim Hinzufügen, Löschen, Ändern und Überprüfen von Daten die Originaldaten direkt zum Zeitpunkt des Sendens der Daten abrufen können. Durch den von Ihnen selbst geschriebenen Logikcode können Sie die Daten nach dem Hinzufügen, Löschen, Ändern und Überprüfen abrufen und dann direkt auf der Seite rendern. Es sieht so aus, als ob es direkt aktualisiert wurde, aber tatsächlich wird es zuerst gerendert und dann sendet der Hintergrund selbst die Anforderung. Wenn dies fehlschlägt, können Sie auch die Originaldaten abrufen und erneut auf der Seite rendern und dann den Fehler melden. Der letzte Punkt, der mich bei diesem Projekt besonders gestört hat, war das Datenmanagement.

Ich habe zunächst selbst einen Haken eingekapselt.

Bildbeschreibung hier einfügen

Meine Idee ist, dass eine Seite möglicherweise viele Daten abrufen muss, sodass es sehr mühsam ist, Loading selbst zu schreiben. Es gibt mehrere, warum kann Loading nicht einheitlich verwaltet werden? Legen Sie dann Daten als Objekt fest. Wenn Sie es verwenden, können Sie einen Typ übergeben, um den Typ Ihrer Daten zu definieren.

Bildbeschreibung hier einfügen

Anschließend wird sendHttp zum Senden von Daten verwendet

Bildbeschreibung hier einfügen

Akzeptiert zwei Parameter. Der zweite Parameter ist das Datenattribut, in das die aktuellen Daten eingefügt werden sollen.

Die Wirkung der Nutzung ist

Bildbeschreibung hier einfügen
Bildbeschreibung hier einfügen
Bildbeschreibung hier einfügen

Auf diese Weise kann der Status dieser Daten einheitlich verwaltet werden, später stellte ich jedoch fest, dass die Verwendung sehr mühsam war. Also habe ich es wieder aufgegeben. Es ist bequemer, nativ zu schreiben. Definieren Sie einfach die Schnittstelle direkt.

Bildbeschreibung hier einfügen

Direkte Verwendung

Bildbeschreibung hier einfügen

Natürlich habe ich auch daran gedacht, Redux zu verwenden, aber für Redux müssen Aktionen und Reduzierer geschrieben werden, was ebenfalls sehr umständlich ist.
Kürzlich habe ich von einem Freund gehört, dass Ahooks‘ Usequest auch gut ist, also werde ich es in meinem nächsten Projekt ausprobieren.

Das Wichtigste, was ich aus diesem Projekt gelernt habe, ist die Kapselung verschiedener Hooks

Redux einkapseln


Bildbeschreibung hier einfügen

Kapselungsanforderung

Bildbeschreibung hier einfügen

Es gibt auch das Studium von ts,

Wenn Sie eine API nicht verstehen, klicken Sie einfach auf die Typdefinition.

Bildbeschreibung hier einfügen

Wenn Du so etwas nicht verstehst, klicke Dich einfach ein und klicke die einzelnen Schritte durch.

Bildbeschreibung hier einfügen

Bei diesem Bombardement werden Sie langsam den Einsatz von Generika verstehen.

Dies ist das Ende dieses Artikels über die Implementierung eines einfachen Jira-Projekts mit react+ts. Weitere relevante Inhalte zu react+ts Jira-Projekten finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • React verwendet Recharts, um Beispielcode für Scatter-Maps zu implementieren
  • Verwenden von Node zum Erstellen einer serverseitigen Rendering-Architektur von reactSSR
  • Detaillierte Erklärung der setState Callback-Funktion in React
  • React-Lernhinweise zu Status und Verwendung von setState
  • Beispielcode für die Verwendung von Echarts in React-Komponenten
  • React Native verwendet Baidu Echarts, um Beispielcode für Diagramme anzuzeigen

<<:  Detaillierte Einführung in die Linux-Firewall iptables, Konfigurationsmethode und Fall

>>:  Grafisches Tutorial zur Installation und Konfiguration komprimierter Pakete für MySQL 5.7.24

Artikel empfehlen

Über Front-End JavaScript ES6 Details

Inhaltsverzeichnis 1. Einleitung 1.1 Babel-Transc...

So überwachen Sie Array-Änderungen in JavaScript

Vorwort Als ich zuvor „defineProperty“ vorgestell...

Vue-Konfigurationsdetails für mehrere Seiten

Inhaltsverzeichnis 1. Der Unterschied zwischen me...

Verwendung von „align-content“ im Zeilenumbruchbereich des Flex-Layouts

1. Das in diesem Artikel implementierte Effektdia...

Mehrere Möglichkeiten zum Aktualisieren von Batches in MySQL

Normalerweise verwenden wir die folgende SQL-Anwe...

Zusammenfassung der Wissenspunkte zum CSS-Frontend (unbedingt lesen)

1. Das Konzept von CSS: (Cascading Style Sheet) V...

Detaillierte Erläuterung der FTP-Umgebungskonfigurationslösung (vsftpd)

1. Installieren Sie die vsftpd-Komponente Install...

So verwenden Sie Watch-Listener in Vue2 und Vue3

watch : auf Datenänderungen achten (Änderungserei...

Definieren der Mindesthöhe der Inline-Elementspanne

Das Span-Tag wird häufig beim Erstellen von HTML-...

10 Tipps für das User Interface Design mobiler Apps

Tipp 1: Konzentriert bleiben Die besten mobilen A...

Analyse der MySQL-Absturzwiederherstellung basierend auf Redo Log und Undo Log

Inhaltsverzeichnis MySQL-Absturzwiederherstellung...