Maison  >  Article  >  interface Web  >  Comment partager des données au sein des composants de réaction

Comment partager des données au sein des composants de réaction

php中世界最好的语言
php中世界最好的语言original
2018-06-09 11:59:101777parcourir

Cette fois, je vais vous montrer comment partager des données dans les composants React et quelles sont les précautions à prendre pour partager des données dans les composants React. Voici un cas pratique, jetons un oeil.

Utilisez React-redux pour partager des données entre les données des composants React

1 Installez React-Redux

$ npm i --save react-redux

2. importe le composant approprié et attribue le magasin à l'attribut de magasin du fournisseur

encapsule le composant racine avec le fournisseur.

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

De cette façon, tous les sous-composants du composant racine peuvent obtenir la valeur dans le magasin

3. Connectez l'encapsulation secondaire du composant racine

export default connect(mapStateToProps,mapDispatchToProps)(Wrap)

connect reçoit deux fonctions A en paramètre, un mapStateToProps qui définit quelles propriétés du magasin seront mappées aux propriétés du composant racine (transmettez le magasin dans le composant React) et un mapDispatchToProps qui définit quelles actions peuvent être utilisées en tant que composant racine propriétés (transmettre les données du composant React dans le magasin)

3. Définissez ces deux fonctions de mappage

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

pour mapper le nom et transmettre dans le magasin le nom et transmettre les attributs. du composant racine.

actions est un objet qui contient la fonction de construction d'action. Utilisez bindActionCreators pour lier les actions de l'objet à l'attribut actions du composant racine.

4. Utilisez <Show name={this.props.name} pass={this.props.pass}></Show> où le composant racine fait référence au sous-composant pour transmettre les données du magasin dans le sous-composant

5. Appelez la méthode dans les actions du sous-composant pour mettre à jour le magasin dans. les données

<Input actions={this.props.actions} ></Input>

Transmettez d'abord les actions en tant qu'attributs au sous-composant

Le sous-composant appelle la méthode dans les actions pour créer une action

//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>
  )
 }
}

Parce que nous utilisons la fonction bindActionCreators , Après avoir créé l'action, store.dispatch(action) sera automatiquement appelé immédiatement pour mettre à jour les données dans le magasin.

De cette façon, nous utilisons le module réagir-redux pour compléter le partage de données entre les différents composants de réaction .

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php !

Lecture recommandée :

Utilisez JS pour manipuler des images et ne laisser que du noir et blanc

Comment utiliser les composants vue dans projets actuels

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn