Почему удаляется каждый твит

0

Вопрос

Поэтому я использую React и создал небольшой код, в котором есть текстовое поле с кнопкой "Отправить", и когда что-то вводится и отправляется, он создает твит с текстом, который я ввел, и некоторыми готовыми элементами, как вы видите здесь: [1]: https://i.stack.imgur.com/pvfSf.png Случайные буквы с кнопками "Нравится" и "Удалить" - это то, что я отправлял каждый раз.

Что меня смущает, так это то, почему каждый твит удаляется, когда я использую этот код:

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

Но когда я использую этот код, удаляется только один конкретный твит, на котором я нажал "Удалить".:

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

"Твит" после! = = - это реквизит, который я передаю.

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

Лучший ответ

0

У вас есть конфликт между твитом, используемым в качестве параметра на карте, и твитом, используемым в качестве реквизита, область видимости Javascript принимает последнюю переменную, которая является твитом карты.

Поэтому, когда вы помещаете твит в функцию карты, он переопределяет твит реквизита.

Вы можете взглянуть на закрытие : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Closures

2021-11-23 21:08:34

На других языках

Эта страница на других языках

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