Heim > Web-Frontend > js-Tutorial > So teilen Sie Daten innerhalb von Reaktionskomponenten

So teilen Sie Daten innerhalb von Reaktionskomponenten

php中世界最好的语言
Freigeben: 2018-06-09 11:59:10
Original
1795 Leute haben es durchsucht

Dieses Mal zeige ich Ihnen, wie Sie Daten in Reaktionskomponenten teilen und welche Vorsichtsmaßnahmen für die Datenfreigabe in Reaktionskomponenten gelten. Hier ist ein praktischer Fall, schauen wir uns das an.

Verwenden Sie React-Redux, um Daten zwischen React-Redux-Daten auszutauschen

1 React-Redux installieren

$ npm i --save react-redux
Nach dem Login kopieren

2 Die richtige Komponente weist den Speicher dem Speicherattribut des Anbieters zu und

umschließt die Stammkomponente mit dem Anbieter.

import {Provider,connect} from 'react-redux'
ReactDOM.render(
<Provider store={store}>
 <Wrap/>
</Provider>,document.getElementById('example'))
Nach dem Login kopieren

Auf diese Weise können alle Unterkomponenten in der Root-Komponente den Wert im Store erhalten

3. connect sekundäre Kapselung der Root-Komponente

export default connect(mapStateToProps,mapDispatchToProps)(Wrap)
Nach dem Login kopieren

connect erhält Zwei Funktionen als Parameter: Ein „mapStateToProps“ definiert, welche Store-Eigenschaften den Eigenschaften der Root-Komponente zugeordnet werden (übergeben Sie den Store an die React-Komponente), und ein „mapDispatchToProps“ definiert, welche Aktionen als Root-Komponenten-Eigenschaften verwendet werden können (übergeben Sie die Daten aus der React-Komponente). Komponente in den Store)

3. Definieren Sie diese beiden Zuordnungsfunktionen

function mapStateToProps(state){
 return {
  name:state.name,
  pass:state.pass
 }
}
function mapDispatchToProps(dispatch){
 
 return {actions:bindActionCreators(actions,dispatch)
 }
}
Nach dem Login kopieren

, um den Namen und die Übergabe im Store dem Namen zuzuordnen und Attribute der Stammkomponente zu übergeben.

actions ist ein Objekt, das die Aktionskonstruktionsfunktion enthält. Verwenden Sie bindActionCreators, um die Objektaktionen an das Aktionsattribut der Stammkomponente zu binden.

4. Verwenden Sie <Show name={this.props.name} pass={this.props.pass}></Show>, wobei die Stammkomponente auf die Unterkomponente verweist, um die Speicherdaten an die Unterkomponente zu übergeben.

5 die Daten

<Input actions={this.props.actions} ></Input>
Nach dem Login kopieren

Aktionen zuerst als Attribute an die Unterkomponente übergeben

Die Unterkomponente ruft die Methode in Aktionen auf, um die Aktion zu erstellen

//Input组件
export default class Input extends React.Component{
sure(){
this.props.actions.add({name:this.refs.name.value,pass:this.refs.pass.value})
}
 render(){ 
  return (
    <p> 
  姓名:<input ref="name" type="text"/>
  密码:<input ref="pass" type="text"/>
  <button onClick={this.sure.bind(this)}>登录</button>
 </p>
  )
 }
}
Nach dem Login kopieren

Weil wir nach der Erstellung die Funktion bindActionCreators verwenden Die Aktion ruft sofort und automatisch store.dispatch(action) auf, um die zu speichernden Daten zu aktualisieren.

Auf diese Weise verwenden wir das React-Redux-Modul, um den Datenaustausch zwischen verschiedenen React-Komponenten abzuschließen.

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Empfohlene Lektüre:

Verwenden Sie JS, um Bilder zu bearbeiten und nur Schwarzweiß zu belassen

So verwenden Sie Vue-Komponenten in aktuelle Projekte

Das obige ist der detaillierte Inhalt vonSo teilen Sie Daten innerhalb von Reaktionskomponenten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage