Je veux obtenir un identifiant de l'article rendu actuel (dans mon sujet). Je tente de le faire via UseEffect () Crochet, mais il semble qu'il ne puisse pas accepter les paramattres. Y a-t-il un moyen de le réparer et de passer des données reçues à d'autres éléments?
Voici le composant fonctionnel complet de la mine: p>
3 Réponses :
USEEFFET code> Hook ne prend pas de paramètre. Vous devez transmettre le paramètre dans le composant.
const Component = ({ id }) => {
useEffect(() => {
axios
.get(`http://localhost:4000/getTopic/${id}`)
.then((post) => {
console.log('--------post.data', post.data.description);
})
.catch((err) => {
console.log('--------err', err);
})
})
return (
// your render
)
}
Puis-je passer des accessoires d'un autre composant?
En composant fonctionnel
Oui. Vous devez transmettre l'ID de composant parent comme celui-ci
J'ai essayé de le faire d'un autre composant fonctionnel, mais ça me laisse le faire
Pourriez-vous s'il vous plaît partager votre composant parent dans lequel vous utilisez postonpage code> composant.
UseEffect Crochet est utilisé pour exécuter des fonctionnalités conformément au changement de données / surcharge. Il ne peut pas recevoir de paramètres, Si vous souhaitez utiliser l'ID de votre rendu actuel dans votre useeffect, vous devez l'envoyer en tant que accessoire p>
Si vous stockez ID en état d'état, vous pouvez déclencher l'utilisation de l'utilisateur si ID est modifié.
Dans un exemple ci-dessous, j'ai stocké ID dans l'état et nous l'informer dans la deuxième fonction d'utilisation. Vous devez également ajouter des paramètres de changement d'useeffect
Vous pouvez obtenir cet identifiant de la composante actuelle s'il en a une. Pouvez-vous nous montrer le composant où vous utilisez useeffect?
Oui je vais mettre à jour le post
Je l'ai mis à jour !!
Merci. Mais il n'y a pas d'identité identique ou passée là-bas, où l'obtiendriez-vous?
Je rends ce composant à partir d'un autre composant après un clic sur le titre et je veux que ID génère après que ce composant soit rendu.
Je pensais que useeffect ferait la chose
Vous devriez Lisez les docs sur UseEffect . Mais dans tous les cas, personne ne va générer l'identifiant pour vous, vous devez l'obtenir de quelque part ou de vous générer, puis de le transmettre aux composants qui en ont besoin.
Donc, dans mon cas, je vais le transmettre d'un autre composant comme des accessoires