Dans mon cas, im en utilisant quelques boutons et lorsqu'un bouton est cliqué, il devrait y avoir une modification de la vue. Pour la vue, j'utilise le même panneau pour chaque bouton, cliquez et que le changement sera appliqué sur l'en-tête du panneau (Nom de la société). Pour changer le nom, je envoie un paramètre avec la méthode OnClick comme ci-dessous. ....
Lorsque je passe le paramètre comme ci-dessus (ceci.props.name = "xyz"), je reçois une erreur comme "TypeError: impossible d'ajouter un nom de propriété, l'objet n'est pas extensible". J'espère que certains peuvent m'aider p> p>
4 Réponses :
Vous ne pouvez pas modifier les appels code> code> comme le dit le réacteur Documents
si vous déclarez un composant en tant que fonction ou une classe,
il ne doit jamais modifier ses propres accessoires forts> p> BlockQuote> Vous devriez simplement passer
"xyz" code>. ou vous pouvez transmettre un objet avecceci.props code> avecNom: 'xyz' code> à l'aide de l'opérateur répandu. p>xxx pré> et Changez votre fonction que cette p>
xxx pré> si vous ne voulez pas tous les accessoires code> objet code> à l'intérieur de votre fonction, passez simplement
"xyz"changeStateMSG(name){ this.setState({ message:<Content name={name}/> }) }
Merci maheer: D
Avez-vous vérifié la documentation? Je crois que l'erreur indique clairement que vous ne pouvez pas ajouter de propriété au Vous pouvez transmettre les arguments juste avec cette instruction, comme dans une exécution de la fonction normale. P> < Pré> xxx pré> et votre définition de fonction doit ressembler, p> ceci.props code>.
Pourquoi vous devez transmettre le noms.name code> à Changestatosg CODE> fonction lorsque vous pouvez y accéder à partir de cette fonction? Appel simplement simple que dans Changestatosg CODE> et supprimer les paramètres que vous n'utilisez pas.
Problème est fonction Ceci.changeSatemsg (this.props.name = "xyz").
Avez-vous passé la variable précédente.
U passe comme ça (cela.props.name = "xyz") est un mauvais sens.
Devrait éditer:
Évitez de stocker les composants (
contenu code>) dans l'état.