Встречается на собеседованиях • сегодня
В каких случаях нужна мемоизация callback
Мемоизация callback нужна, когда:
1. Callback передаётся в дочерние компоненты и используется в зависимостях эффектов (`useEffect`, `useMemo` и т.д.), чтобы избежать лишних ререндеров.
2. Callback зависит от изменяющихся пропсов или состояния, но его логика не должна выполняться при каждом изменении зависимостей.
Пример с `useCallback`:
```jsx
const MyComponent = ({ items }) => {
const [filter, setFilter] = useState('');
const handleFilter = useCallback((item) => {
return item.name.includes(filter);
}, [filter]); // Мемоизируется при изменении filter
const filteredItems = useMemo(() => {
return items.filter(handleFilter);
}, [items, handleFilter]);
return
- ;
};
```
Без мемоизации `handleFilter` создавалась бы при каждом рендере, вызывая пересчёт `filteredItems`.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы