„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Verwalten des Status in mehreren Instanzen derselben Komponente in React

Verwalten des Status in mehreren Instanzen derselben Komponente in React

Veröffentlicht am 04.11.2024
Durchsuche:656

Managing State in Multiple Instances of the Same Component in React

Wenn Sie mit React arbeiten und mehrere Instanzen derselben Komponente haben, kann die Statusverwaltung schwierig werden. Abhängig davon, wie Ihre Komponenten interagieren müssen, möchten Sie den Status unterschiedlich behandeln. Hier ist, was meiner Meinung nach gut funktioniert.

Unabhängige Instanzen: Behalten Sie den Status innerhalb der Komponente bei

Wenn Ihre Komponenten nicht miteinander kommunizieren müssen, ist es am besten, ihren Zustand innerhalb der Komponente beizubehalten. Auf diese Weise hat jede Instanz ihren eigenen Status und Änderungen in einer haben keinen Einfluss auf die anderen.

function Counter() {
  const [count, setCount] = useState(0);

  return (
    

Count: {count}

); } // Usage // Instance 1 // Instance 2

Hier verfolgt jede Zählerkomponente ihre eigene Anzahl. Wenn Sie also in einem Zähler auf die Schaltfläche klicken, ändert sich die Anzahl im anderen nicht.

Abhängige Instanzen: Verwalten Sie den Status in der übergeordneten Komponente

Aber wenn die Komponenten einen bestimmten Status teilen oder koordiniert arbeiten müssen, ist es besser, den Status auf die übergeordnete Komponente zu verschieben. Das übergeordnete Element kann den gemeinsamen Status verwalten und als Requisiten weitergeben. Dadurch wird sichergestellt, dass alle Instanzen synchron bleiben und reibungslos zusammenarbeiten.

function Parent() {
  const [sharedCount, setSharedCount] = useState(0);

  return (
    

Total Count: {sharedCount}

); } function Counter({ count, setCount }) { return (

Count: {count}

); }

Dieser Ansatz funktioniert, denn wenn sich der Status in der übergeordneten Komponente befindet, löst jede Aktualisierung dieses Status ein erneutes Rendern aller Instanzen aus, um sicherzustellen, dass alle die neueste Benutzeroberfläche anzeigen. Wenn der Status in jeder Instanz separat beibehalten würde, würde nur die Instanz mit der Statusänderung neu gerendert, was zu einer inkonsistenten Benutzeroberfläche aller Instanzen führen würde.

Beispiele aus meinen Projekten

Das habe ich beim Bau einer Akkordeonkomponente herausgefunden. Hier sind zwei Beispiele aus meiner eigenen Arbeit:

  • Unabhängige Accordion-Instanzen: Beispiel. In diesem Setup arbeitet jede Accordion-Instanz unabhängig.

  • Abhängige Accordion-Instanzen: Beispiel. In dieser Version sind alle Accordion-Instanzen voneinander abhängig und bleiben synchron.

Kurze Zusammenfassung

  • Wenn Komponenten separat arbeiten, behalten Sie den Status innerhalb jeder Komponente bei.

  • Wenn sie den Status teilen oder koordiniert zusammenarbeiten müssen, verwalten Sie den Status im übergeordneten Element.

Dieser Ansatz hat für mich beim Erstellen dieser Akkordeonbeispiele einen großen Unterschied gemacht. Ich hoffe, es hilft dir auch!

Freigabeerklärung Dieser Artikel ist abgedruckt unter: https://dev.to/surjoyday_kt/managing-state-in-multiple-instances-of-the-same-component-in-react-5dfk?1 Bei Verstößen wenden Sie sich bitte an Study_golang @163.com löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3