Heim > Web-Frontend > js-Tutorial > Wie kann man Requisiten in React effizient an this.props.children übergeben?

Wie kann man Requisiten in React effizient an this.props.children übergeben?

Susan Sarandon
Freigeben: 2024-12-18 02:03:09
Original
236 Leute haben es durchsucht

How to Efficiently Pass Props to this.props.children in React?

Wie man Requisiten an {this.props.children} weitergibt

Einführung

In React stoßen Sie möglicherweise auf ein Szenario, in dem Sie eine Wrapper-Komponente verwenden möchten Kapseln Sie eine Gruppe untergeordneter Komponenten und geben Sie einige gemeinsame Eigenschaften an sie weiter.

Klonen von Kindern mit neuen Requisiten

Ein Ansatz besteht darin, React.Children zum Iterieren zu verwenden über die untergeordneten Elemente und klonen Sie jedes Element mit den neuen Requisiten mithilfe von React.cloneElement. Diese Methode wird jedoch aufgrund möglicher Codefragilität nicht empfohlen.

<br>const Child = ({ childName, sayHello }) => (<br> <button onClick={() => sayHello(childName)}>{childName}</button><br>);</p>
<p>function Parent({children }) {<br> Funktion sayHello(childName) {</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">console.log(`Hello from ${childName} the child`);
Nach dem Login kopieren

}

const childrenWithProps = React.Children.map(children, child => {

if (React.isValidElement(child)) {
  return React.cloneElement(child, { sayHello });
}
return child;
Nach dem Login kopieren

});

return

{childrenWithProps}
;
}

function App() {
// Weniger typsichere, aber einfachere Alternative
return (

<Parent>
  <Child childName="Billy" />
  <Child childName="Bob" />
</Parent>
Nach dem Login kopieren

);
}

ReactDOM.render(, document.getElementById("container"));

Alternativen zum Klonen Kinder

Für die Weitergabe von Eigenschaften an Kinder sollten Sie die folgenden Alternativen in Betracht ziehen:

  • Hebezustand: Verschieben Sie die gemeinsam genutzten Eigenschaften in den Zustand der übergeordneten Komponente und geben Sie sie über Requisiten weiter.
  • Kontext-API: Erstellen Sie ein Kontextobjekt, um Daten zu teilen über Komponenten hinweg, unabhängig von ihrer hierarchischen Beziehung.
  • Render-Requisiten: Definieren Sie eine Render-Requisite in der Wrapper-Komponente und übergeben Sie sie an die untergeordnete Komponente als Funktion, die Requisiten als Eingabe akzeptiert.

Das obige ist der detaillierte Inhalt vonWie kann man Requisiten in React effizient an this.props.children übergeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage