Сообщение от ksa
|
Отнюдь!
Я не записываю "новый стейт"... Я передаю функцию, которая и вернет новый стейт. Она принимает старый стейт и должна вернуть новый.
Применение функции, меняющей стейт, бывает просто необходимо. Пример
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)
|
Спасибо большое тебе и документации.
"
Here, a => a + 1 is your updater function. It takes the pending state and calculates the next state from it
"