Встречается на собеседованиях • сегодня

Как можно не допустить batching

React автоматически батчит обновления состояния внутри обработчиков событий и жизненных циклов. Чтобы предотвратить это и выполнить обновление синхронно, можно использовать:

  1. flushSync из ReactDOM (в React 18+):
jsx
import { flushSync } from 'react-dom';

flushSync(() => {
setState(newValue);
});

text

2. Нативные события (не React-обработчики):
```jsx
document.addEventListener('click', () => {
  setState(newValue); // выполнится без батчинга
});
  1. В React 17 и ниже - обернуть в setTimeout:
jsx
setTimeout(() => {
  setState(newValue);
}, 0);

Важно: избегайте частого использования этих методов, так как они могут ухудшить производительность, нарушая оптимизации React.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы