Показать сообщение отдельно
  #5 (permalink)  
Старый 15.08.2024, 09:38
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,202

Сообщение от acvafor
разве не list.map ?
Отнюдь!
Я не записываю "новый стейт"... Я передаю функцию, которая и вернет новый стейт. Она принимает старый стейт и должна вернуть новый.

Применение функции, меняющей стейт, бывает просто необходимо. Пример

const [val, setVal] = useState()
// ...
setVal(val + 1)
setVal(val + 1)
setVal(val + 1)
setVal(val + 1)
// результат тебя удивит ;)

Использование функции решает эту проблему

setVal(old => old + 1)
setVal(old => old + 1)
setVal(old => old + 1)
setVal(old => old + 1)
Ответить с цитированием