Einführung in die KomponentenkommunikationInhalt
Drei Wege
ZusammenfassungDer Status in einer Komponente ist privat, d. h. der Status einer Komponente kann nur innerhalb der Komponente verwendet werden und kann nicht direkt außerhalb der Komponente verwendet werden. Komponentenkommunikation - Vater zu SohnInhalt:
KerncodeDie übergeordnete Komponente stellt Daten bereit und übergibt diese an die untergeordnete Komponente Klasse Parent erweitert React.Component { Status = { Nachname: 'Name' } rendern() { zurückkehren ( <div> Daten an untergeordnete Komponenten weitergeben: <Child name={this.state.lastName} /> </div> ) } } Unterkomponente empfängt DatenFunktion Child(Requisiten) { return <div>Die untergeordnete Komponente empfängt Daten: {props.name}</div> } Komponentenkommunikation - untergeordnetes Element zum übergeordneten ElementIdeenBei Verwendung der Rückruffunktion stellt die übergeordnete Komponente den Rückruf bereit, die untergeordnete Komponente ruft ihn auf und die zu übergebenden Daten werden als Parameter der Rückruffunktion verwendet. Schritt1. Übergeordnete Komponente 1. Definieren Sie eine Callback-Funktion f (die zum Empfangen von Daten verwendet wird) 2. Übergeben Sie die Funktion f als Wert des Attributs an die untergeordnete Komponente 2. Unterkomponenten 1. Holen Sie sich f durch Requisiten 2. Rufen Sie f auf und übergeben Sie die Daten der untergeordneten Komponente KerncodeDie übergeordnete Komponente stellt eine Funktion bereit und übergibt sie an die untergeordnete Komponente Klasse Parent erweitert React.Component { Zustand: { Zahl: 100 } f = (Zahl) => { console.log('Empfangene Unterkomponentendaten', num) } rendern() { zurückkehren ( <div> Untergeordnete Komponente: <Child f={this.f} /> </div> ) } } Die untergeordnete Komponente empfängt die Funktion und ruft sie auf Klasse Child erweitert React.Component { handleKlick = () => { // Rufe die von der übergeordneten Komponente übergebenen Props auf und übergebe den Parameter this.props.f(100) } zurückkehren ( <button onClick={this.handleClick}>Klicken Sie hier, um Daten an die übergeordnete Komponente zu übergeben</button> ) } ZusammenfassungKind zu Elternteil: Rufen Sie die im Elternteil definierte Methode im Kindbestandteil auf und übergeben Sie Parameter nach Bedarf Komponentenkommunikation - Brother KomponentenIn React gibt es so etwas wie Geschwisterkomponenten nicht, es gibt nur eine Statusförderung. Ideen
Kerncode importiere React, {Komponente} von 'react' ReactDOM von „react-dom“ importieren importiere Jack aus './Jack' importiere Rose aus './Rose' Klasse App erweitert Komponente { // 1. Der Status wird zum übergeordneten Komponentenstatus = { hochgestuft. Nachricht: '', } rendern() { zurückkehren ( <div> <h1>Ich bin eine App-Komponente</h1> <Jack sagt={this.changeMsg}></Jack> {/* 2. Zeigen Sie der untergeordneten Komponente den Status an*/} <Rose msg={this.state.msg}></Rose> </div> ) } changeMsg = (msg) => { dies.setState({ Nachricht, }) } } // Rendering-Komponente ReactDOM.render(<App />, document.getElementById('root')) importiere React, {Komponente} von 'react' exportiere Standardklasse Jack erweitert Komponente { rendern() { zurückkehren ( <div> <h3>Ich bin die Jack-Komponente</h3> <button onClick={this.say}>Sagen</button> </div> ) } sagen = () => { this.props.say('du springst, ich schaue') } } importiere React, {Komponente} von 'react' exportiere Standardklasse Rose erweitert Komponente { rendern() { zurückkehren ( <div> <h3>Ich bin die Rose-Komponente - {this.props.msg}</h3> </div> ) } } Komponentenkommunikation - Komponentenkommunikation über verschiedene Ebenen hinwegWenn Sie die komponentenübergreifende Kommunikation in Vue nutzen möchten, müssen Sie Context verwenden. Schritte zur Verwendung von ContextEs gibt drei Schritte: 1. Importieren und rufen Sie die Methode createContext auf, um die Provider- und Consumer-Komponenten aus dem Ergebnis zu dekonstruieren importiere { createContext } von 'react' const { Anbieter, Verbraucher } = Kontext erstellen() 2. Verwenden Sie die Provider-Komponente, um die Stammkomponente zu umschließen und die Daten bereitzustellen, die über das Wertattribut freigegeben werden sollen zurückkehren ( <Providerwert={Hier die zu übergebenden Daten einfügen}> <Inhalt der Root-Komponente/> </Anbieter> ) 3. Umschließen Sie in jeder abgeleiteten Komponente die gesamte Komponente mit der in Schritt 2 exportierten Consumer-Komponente. zurückkehren ( <Verbraucher> { (Daten) => { // Die Parameterdaten hier erhalten automatisch die vom Provider übergebenen Daten // console.log(data) return <Komponenteninhalt> } } </Verbraucher> ) Landecode Erstellen Sie die Datei importiere { createContext } von 'react' const { Anbieter, Verbraucher } = Kontext erstellen() export { Verbraucher, Anbieter } Transformieren der Stammkomponente importiere { Provider } aus './context' rendern () { zurückkehren ( <Anbieterwert={{ num: this.state.num }}> <div> Stammkomponente, Nummer: {this.state.num} <Übergeordnetes Element /> <Onkel /> </div> </Anbieter> ) } Transformieren Sie die abgeleitete Komponente React von „react“ importieren importiere { Consumer } von './context' exportiere Standardklasse Uncle erweitert React.Component { rendern () { zurückkehren ( <Verbraucher> {(Daten) => { return <div>Ich bin Onkel-Komponente, {data.num}</div> }} </Verbraucher> ) } } ZusammenfassenDieser Artikel endet hier. Ich hoffe, er kann Ihnen helfen. Ich hoffe auch, dass Sie mehr Inhalten auf 123WORDPRESS.COM mehr Aufmerksamkeit schenken können! Das könnte Sie auch interessieren:
|
<<: Webdesign muss Zweck, Ideen, Gedanken und Beständigkeit haben
>>: 10 Fähigkeiten, die Frontend-Entwickler millionenschwer machen
Wenn Sie MySQL zum Abfragen der Datenbank verwend...
von Nehmen wir als Beispiel den im Bild gezeigten...
Inhaltsverzeichnis Was ist natives JavaScript A. ...
html ¶ <html></html> html:xml ¶ <h...
Jeder, der HTML studiert oder verwendet hat, soll...
Bei der Entwicklung für Mobilgeräte tritt häufig ...
1. Laden Sie das CentOS-Image herunter 1.1 Downlo...
Was tun, wenn VmWare während der Installation von...
Wir alle wissen, dass wir die Eigenschaften der P...
1. Installation der dekomprimierten Version (1). ...
In diesem Artikel wird die Installations- und Kon...
Inhaltsverzeichnis 1. Was ist Front-End-Statusver...
<br />Gestalten Sie Ihre Website wissenschaf...
Die Anmeldeoberfläche des WeChat-Applets ist zu I...
Dieser Artikel beschreibt anhand von Beispielen, ...