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

Spezifische Verwendung von Vues neuem Spielzeug VueUse

Inhaltsverzeichnis Vorwort Was ist VueUse Einfach...

Analyse des Prinzips des dynamischen Proxys des Mybatis-Mappers

Vorwort Bevor wir mit der Erklärung des Prinzips ...

Einführung und Verwendung der Angular-Pipeline PIPE

Vorwort PIPE, übersetzt als Pipeline. Angular Pip...

Lösung für den Konflikt zwischen Nginx und Backend-Port

Frage: Bei der Entwicklung des Alice-Verwaltungss...

Detaillierte Erklärung der Stammverzeichniseinstellungen in nginx.conf

Bei der Konfiguration von nginx.conf treten immer...

HTML-Hyperlink ein Tag_Powernode Java Academy

Jeder, der HTML studiert oder verwendet hat, soll...

Vue implementiert einen Scrollbar-Stil

Zuerst wollte ich den Stil der Bildlaufleiste des...

MySQL-8.0.26 Konfigurationsgrafik-Tutorial

Vorwort: Vor kurzem hat das Unternehmensprojekt d...

Lösen Sie das Problem der Verwendung des Swiper-Plugins in Vue

Da ich dieses Plugin beim Schreiben einer Demo ve...

Mehrere allgemeine Beispielcodes für Weiterleitungsverbindungen in HTML

Code kopieren Der Code lautet wie folgt: window.l...

js, um einen einfachen Bild-Drag-Effekt zu erzielen

In diesem Artikel wird der spezifische Code von j...