0
votes

Dans ReactJS lorsqu'il utilise ONClick fonction avec SetState, comment passer des paramètres?

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. XXX

.... 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


1 commentaires

Évitez de stocker les composants ( contenu ) dans l'état.


4 Réponses :


2
votes

Vous ne pouvez pas modifier les appels code> code> comme le dit le réacteur Documents

Les accessoires sont en lecture seule h3>

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 avec ceci.props code> avec Nom: '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}/>
   })
}


1 commentaires

Merci maheer: D



0
votes

Avez-vous vérifié la documentation? Je crois que l'erreur indique clairement que vous ne pouvez pas ajouter de propriété au ceci.props .

Vous pouvez transmettre les arguments juste avec cette instruction, comme dans une exécution de la fonction normale. < Pré> xxx

et votre définition de fonction doit ressembler, xxx


0 commentaires

0
votes

Pourquoi vous devez transmettre le noms.name à Changestatosg fonction lorsque vous pouvez y accéder à partir de cette fonction? Appel simplement simple que dans Changestatosg et supprimer les paramètres que vous n'utilisez pas. XXX


0 commentaires

0
votes

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: xxx


0 commentaires