Skip to main content

batch()

batch((fn: () => void))

добавлено в v7.0.0

Информация

Если вы используете React 18, вам не нужно использовать batch. React 18 автоматически группирует все обновления состояния в независимо от их положения в очереди.

unstable_batchedUpdates() в React позволяет объединять любые обновления React в рамках 1 итерации цикла событий(event loop) в один проход рендеринга. Внутренне React уже использует это для собственных колбэков обработчиков событий. Это API на самом деле является частью пакетов рендеринга, таких как ReactDOM и React Native, а не самого ядра React.

Поскольку React-Redux должен работать как в среде ReactDOM, так и в среде React Native, мы позаботились об импорте этого API из правильного средства визуализации во время сборки для нашего собственного использования. Теперь мы также сами заново экспортируем эту функцию публично, переименовав ее в batch(). Вы можете использовать ее, чтобы гарантировать, что несколько действий, отправленных вне React, приведут только к одному обновлению рендеринга, например:

import { batch } from 'react-redux'

function myThunk() {
return (dispatch, getState) => {
// Должно привести только к одному комбинированному рендерингу, а не к двум
batch(() => {
dispatch(increment())
dispatch(increment())
})
}
}

Ссылки