Maison > interface Web > js tutoriel > le corps du texte

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

php中世界最好的语言
Libérer: 2018-06-09 11:59:10
original
1781 Les gens l'ont consulté

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
Copier après la connexion

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'))
Copier après la connexion

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)
Copier après la connexion

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)
 }
}
Copier après la connexion

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>
Copier après la connexion

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>
  )
 }
}
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal