J'essaie d'appliquer un PROP App.js: P> ID CODE> avec USESTE sur My Dumpad Composant, transmis à partir de son composant d'application parent. Dans mon fichier APP.JS, comme il est actuellement mis en place, j'obtiens une erreur "'ID' est attribué une valeur mais jamais utilisée." En supposant que j'ai besoin de définir la variable avec Usestate pour passer une pièce d'identité à la composante Drumpad, que dois-je modifier pour qu'il soit appliqué correctement?
const App = () => {
return (
<div className="App">
{sounds.map(sound => (
<DrumPad
id={sound.id}
/>
))}
</div>
);
}
const DrumPad = (props) => {
return (
<div id={props.id}>
</div>
);
}
3 Réponses :
Vous avez mal utilisé Veuillez vous référer à Mission de déstructuration , aussi, vous devez utiliser des accessoires pour Référencer les attributs de votre passe: p> usestate code> et renvoyé à la mauvaise variable, vous n'utilisez pas vraiment l'état code> ID code> dans votre code.
USESTE code>
, accessoires dans JSX p>
Vous utilisez Sounds.Id, ce qui n'est pas la variable que vous définissez à l'aide de USESTEATE, bien que votre utilisation de USESTE soit également incorrecte, ainsi que votre utilisation de sons (c'est un tableau pas un objet, vous ne pouvez donc pas dire des sons. .Id. Vous devez faire quelque chose comme des sons [1]) p>
Pour vous débarrasser de l'erreur et maintenez la transmission transmise à Dumpad en tant que état, déplacez le tableau de sons dans le composant de l'application et faites Const [ID, SETID] = USESTEZ (SONS [1]). (Ou vous pouvez choisir l'élément du tableau que vous voulez) p>
Vous voudrez avoir SETID parce que vous dites que c'est l'état. Vous pouvez le supprimer jusqu'à ce que vous l'utilisiez, mais si vous n'utilisez jamais jamais, 'id' ne devrait pas être l'état. P>
Les valeurs déclarées avec le crochet USESTE sont déclarées avec une syntaxe de tuple, avec une variable représentant la valeur elle-même et la seconde fonction d'une fonction de réglage utilisé pour modifier cette valeur, bien que vous puissiez le déclarer sans le réglage. Vous pouvez lire sur le crochet d'état ici . P>
mais si On dirait que vous souhaitez mapper sur votre réseau de sons, puis utilisez probablement id code> ne va jamais changer, cela signifie qu'il serait définitivement défini comme une chaîne vide, ce qui ne semble pas que ce soit le résultat souhaité. Vous devez également vous demander pourquoi vous stockez une valeur statique dans votre état pour commencer plutôt que d'utiliser un accessoire si cela serait possible, l'un des atouts de l'utilisation de l'état de réact est sa capacité à détecter automatiquement les modifications et à faire des mises à jour. Il est difficile de voir une alternative plus appropriée sans connaître plus de votre fonctionnalité désirée, mais je ne vois pas comment vous pourriez avoir une valeur réelle pour votre identifiant sans EM> changer. P>
ID code> pour enregistrer un son actuellement sélectionné, qui ne serait pas possible sans utiliser la fonction Setter pour modifier cet identifiant lorsque Le son souhaité est cliqué ou sélectionné autrement. P>