Detaillierte Verwendung von React.Children

Detaillierte Verwendung von React.Children

React.Children ist eine der APIs der obersten Ebene, die nützliche Tools für die Arbeit mit der geschlossenen Datenstruktur von this.props.children bereitstellt.

Die Eigenschaften des this.props-Objekts entsprechen eins zu eins den Eigenschaften der Komponente, mit einer Ausnahme: der this.props.children-Eigenschaft. Es stellt alle untergeordneten Knoten der Komponente dar.

1. Reagieren.Children.map

Objekt React.Children.map(Objektkinder, Funktion fn [, Objektkontext])
 
Anwendung:
React.Children.map(this.props.children, Funktion (Kind) {
  Rückgabewert <li>{Kind}</li>;
})
Andere Methoden this.props.children.forEach(function (child) {
  Rückgabewert <li>{Kind}</li>
})

Ruft die Funktion fn für jedes unmittelbar untergeordnete Element (im Parameter „children“ enthalten) auf, wobei sich dies auf den Kontext bezieht. Wenn es sich bei den untergeordneten Objekten um verschachtelte Objekte oder Arrays handelt, wird darüber iteriert: Es wird kein Containerobjekt an fn übergeben. Wenn der Parameter „children“ null oder undefiniert ist, wird anstelle eines leeren Objekts null oder undefiniert zurückgegeben.

<Skripttyp="text/jsx">
 var NotesList = React.createClass({
  rendern: Funktion() {
   zurückkehren (
    <ol>
     {
      React.Children.map(this.props.children, Funktion (Kind) {
          Rückgabewert <li>{Kind}</li>;
        })
     }
    </ol>
   );
  }
 });
 
 Reagieren.render(
  <Notizenliste>
   <span>hallo</span>
   <span>hallo</span>
  </NotesList>,
  Dokument.Text
 );
</Skript>

Hierbei ist zu beachten, dass es für this.props.children drei mögliche Werte gibt: Wenn die aktuelle Komponente keine untergeordneten Knoten hat, ist sie undefined ; wenn ein untergeordneter Knoten vorhanden ist, ist der Datentyp object ; wenn mehrere untergeordnete Knoten vorhanden sind, ist der Datentyp array . Seien Sie also vorsichtig beim Umgang mit this.props.children .

React bietet eine Hilfsmethode React.Children zum Verarbeiten this.props.children . Wir können React.Children.map verwenden, um über untergeordnete Knoten zu iterieren, ohne uns Gedanken darüber machen zu müssen, ob der Datentyp von this.props.childrenundefined “ oder object ist.

Geben Sie das folgende ReactElement ein:

<Notizenliste>
  <span>hallo</span>
  <span>hallo</span>
</NotesList>
//Gibt zwei untergeordnete Knoten zurück <NotesList></NotesList>
//Undefiniert zurückgeben
 
 
<NotesList>null</NotesList>
//Gibt null zurück

2. Reagieren.Children.forEach

React.Children.forEach(Objektuntergeordnete Objekte, Funktion fn [, Objektkontext])

Ähnlich wie React.Children.map(), gibt aber kein Objekt zurück.

3. Reagieren.Kinder.zählen

Nummer React.Children.count(Objektkinder)

Gibt die Gesamtzahl der Komponenten in untergeordneten Elementen zurück, die der Anzahl der Aufrufe der an map oder forEach übergebenen Rückruffunktion entspricht.

rendern: Funktion() {
  Konsole.log(React.Children.count(diese.props.children)); //2
 
  zurückkehren (
   <ol>
    {
     this.props.children.forEach(Funktion (Kind) {
       Rückgabewert <li>{Kind}</li>
     })
    }
   </ol>
  );
 }

Verschiedene ReactElements-Ausgabezählwerte:

<Notizenliste>
  <span>hallo</span>
  <span>hallo</span>
</NotesList>
Konsole.log(React.Children.count(diese.props.children)); //2
 
<Notizenliste></Notizenliste>
Konsole.log(React.Children.count(this.props.children)); //0
 
<NotesList>null</NotesList>
Konsole.log(React.Children.count(diese.props.children)); //1

4. Reagieren.Nur für Kinder

Objekt React.Children.only(Objekt Kinder)

Gibt das einzige untergeordnete Kind unter „Kinder“ zurück. Andernfalls wird eine Ausnahme ausgelöst.

Das einzige untergeordnete Element hier, die einzige Methode, kann nur ein einzelnes Objekt als Parameter akzeptieren, nicht mehrere Objekte (Arrays).

Konsole.log(React.Children.only(this.props.children[0])); 
//Ausgabeobjekt this.props.children[0]

Oben finden Sie den detaillierten Inhalt der ausführlichen Erklärung zur Verwendung von React.Children. Weitere Informationen zur Verwendung von React.Children finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • Anwendungsbeispiele für React Hooks
  • Tiefgreifendes Verständnis der Kernprinzipien von React Native (Bridge of React Native)
  • React+Koa-Beispiel zur Implementierung des Datei-Uploads
  • Beispielcode für die Entwicklung einer H5-Formularseite basierend auf React-Hooks und der Konfiguration der Zarm-Komponentenbibliothek
  • Das Umschalten zwischen React-Antd-Tabs führt zu wiederholter Aktualisierung von Unterkomponenten
  • ReactJs-Grundlagen-Tutorial - Essential Edition
  • ReactRouter-Implementierung
  • Detaillierte Erklärung zur Verwendung von React.cloneElement

<<:  So verhindern Sie, dass sich vsftpd-Benutzer über SSH anmelden

>>:  So installieren Sie Nginx in Docker und konfigurieren den Zugriff über https

Artikel empfehlen

So lösen Sie das Problem zu vieler geöffneter Dateien in Linux

Die Ursache liegt darin, dass der Prozess zu eine...

Tutorial zur Master-Slave-Konfiguration der MySQL-Datenbank unter Windows

Der detaillierte Prozess zum Konfigurieren des My...

MySQL-Beispiel zum Abrufen des heutigen und gestrigen Zeitstempels 0:00

Wie unten dargestellt: Gestern: UNIX_TIMESTAMP(CA...

Der gesamte Prozess der Optimierung des ersten Ladens einer Vue-Seite

Inhaltsverzeichnis Vorwort 1. Bildoptimierung 2. ...

So legen Sie eine feste IP-Adresse in einer virtuellen CentOS7-Maschine fest

Da meine Entwicklungsumgebung darin besteht, Cent...

Detaillierte Erklärung der Zeichensätze und Validierungsregeln in MySQL

1Mehrere gängige Zeichensätze Zu den gängigsten Z...

10 HTML-Tabellen-bezogene Tags

Tatsächlich werden viele Leute sagen: „Ich habe ge...

Interpretation von 17 Werbewirksamkeitsmaßen

1. 85 % der Anzeigen werden nicht gelesen <br ...

JS-Interviewfrage: Kann forEach aus der Schleife aussteigen?

Als mir diese Frage gestellt wurde, war ich unwis...

Detaillierte Erklärung dieses Zeigeproblems in JavaScript

Vorwort Der This-Zeiger in JS hat Anfängern schon...

Anweisungen zur Verwendung der Option --rm von Docker Run

Wenn der Docker-Container beendet wird, bleibt da...

Grafisches Tutorial zur Installation und Konfiguration von MySQL 5.7

In diesem Tutorial erfahren Sie alles über die In...