Pourquoi, à chaque tweet est supprimé

0

La question

Je suis donc à l'aide de Réagir et j'ai fait un petit code qui a une zone de texte avec un bouton, et quand quelque chose est tapé et soumis, il crée un tweet avec le texte que j'ai tapé dans et certains des éléments préfabriqués comme vous pouvez le voir ici: [1]: https://i.stack.imgur.com/pvfSf.png Les lettres aléatoires avec la Comme et Supprimer des boutons est ce que j'ai soumis à chaque fois.

Ce que je ne comprends pas est pourquoi chaque tweet est supprimé lorsque j'utilise ce code:

const deleteTweet = () =>{
    setTweets(tweets.filter(tweet => tweet !== tweet))
}

Mais lorsque j'utilise ce code, seulement un seul tweet j'ai cliqué sur Supprimer, sont supprimés:

const deleteTweet = () =>{
    setTweets(tweets.filter(t => t !== tweet))
}

Le "tweet" après les !== est un accessoire que je suis de passage vers le bas.

ecmascript-6 reactjs
2021-11-23 21:02:02
1

La meilleure réponse

0

Vous avez un conflit entre tweet utilisé comme paramètre sur une carte et de tweeter utilisé comme accessoires, la portée de Javascript prendre la dernière variable qui est la carte du tweet.

Ainsi, lorsque vous mettez tweet sur la carte de fonction il remplace les accessoires tweet.

Vous pouvez prendre un coup d'oeil à fermetures : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Closures

2021-11-23 21:08:34

Dans d'autres langues

Cette page est dans d'autres langues

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................