Skip to content
21 / 98

Зачем при обновлении состояния на основе предыдущего значения использовать функциональный вариант setState?

React группирует (batches) обновления состояния и применяет их асинхронно. Если вызвать setState(count + 1) несколько раз подряд, каждый вызов будет использовать одно и то же замкнутое значение count, и в итоге состояние увеличится только на 1. Функциональная форма setState(prev => prev + 1) гарантирует, что каждое обновление работает с актуальным значением, потому что React передаёт в функцию результат предыдущего обновления в очереди.

Зачем при обновлении состояния на основе предыдущего значения использовать функциональный вариант setState? | JScriptiser