Dlaczego usuwa każdy tweet

0

Pytanie

Dlatego używam React i stworzył mały kod, w którym znajduje się pole tekstowe z przyciskiem "Wyślij", a gdy coś wprowadza się i udaje, że tworzy wpis z tekstem, który wpisałem i kilkoma gotowymi elementami, jak widać tutaj: [1]: https://i.stack.imgur.com/pvfSf.png Losowe litery z za pomocą przycisków "Lubię to" i "Usuń" - to jest to, co wziąłem za każdym razem.

Co mnie zastanawia, to to, dlaczego każdy wpis jest usuwany, gdy używam ten kod:

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

Ale kiedy używam ten kod jest usuwany tylko jeden konkretny wpis, w którym kliknąłem "Usuń".:

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

"Tweet" po! = = - to rekwizyty, które przekazuję.

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

Najlepsza odpowiedź

0

Masz konflikt między wiadomościami, używanych jako parametr na mapie, i wiadomościami, używanych jako rekwizyty, zasięg Javascript bierze ostatnią zmienną, która jest wiadomością karty.

Dlatego, kiedy można umieścić wpis w funkcji karty, zastępuje tweet rekwizytów.

Można spojrzeć na zamknięcie : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Closures

2021-11-23 21:08:34

W innych językach

Ta strona jest w innych językach

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