Comment puis-je changer la valeur de la prop à réagir?
Comment modifier la valeur des accessoires, comment setProps,
supposons que la valeur de cette.accessoires de jeu.contact.le nom est John,
je veux le changer pour Johnny.
Comment puis-je faire cela
par exemple-
changeValue(){
this.props.contact.name='Johnny'
}
- Un composant ne peut pas mettre à jour ses propres accessoires, sauf s'ils sont des tableaux ou des objets (ayant un composant de mise à jour de ses propres accessoires, même si possible est un anti-pattern), mais peut mettre à jour son état et les accessoires de ses enfants.
Vous devez vous connecter pour publier un commentaire.
Vous serait de changer le
prop
dans le composant parent, car c'est ce qui contient la valeur de laprop
lui-même. Ce serait forcer un nouveau rendu de tout enfant de composants à utiliser leprop
être changé. Si vous voulez intercepter leprops
comme ils sont envoyés, vous pouvez utiliser le cycle de vie de la méthodecomponentWillReceiveProps
.Je dirais, plutôt que de changer les accessoires de la valeur, vous pouvez passer de la fonction dans les accessoires, puis de changer le composant parent de l'état de sorte qu'il va changer le composant enfant accessoires comme
votre Composant Parent doit être
votre Enfant Composant doit être comme
Veuillez vérifier exemple ici Démo
bind
surthis.props.fadeImage.bind(this)
dans le composant enfant? @Dhaval PatelAccessoires sont immuable, cela signifie que vous ne pouvez pas changer de!
https://facebook.github.io/react/docs/components-and-props.html
Si vous souhaitez enregistrer une nouvelle valeur de construire un état et l'utilisation
this.setState(...)
https://facebook.github.io/react/docs/state-and-lifecycle.html