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

Как реализовать batching операций с иммутабельным состоянием в React

Для эффективного батчинга операций с иммутабельным состоянием в React используйте useState с функцией обновления или библиотеки типа Immer. React автоматически батчит синхронные обновления состояния внутри обработчиков событий.

Пример с useState:

jsx
const [state, setState] = useState({ count: 0, items: [] });

const handleClick = () => {
setState(prev => ({ ...prev, count: prev.count + 1 }));
setState(prev => ({ ...prev, items: [...prev.items, 'new'] }));
// React объединит эти обновления в один ререндер
};

text

С Immer для сложных структур:
```jsx
import { produce } from 'immer';

const [state, setState] = useState({ nested: { data: [] } });

const update = () => {
  setState(produce(draft => {
    draft.nested.data.push(1);
    draft.nested.data.push(2);
  }));
};

Для асинхронных операций используйте unstable_batchedUpdates из react-dom или собирайте изменения перед обновлением.

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

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

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

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