Встречается на собеседованиях • сегодня
Можно ли сделать обертку над hook для использования зависимостей с глубоким сравнением
Да, можно создать кастомный хук для глубокого сравнения зависимостей. Используем useDeepCompareEffect из библиотеки use-deep-compare-effect или реализуем свой вариант:
js
import { useRef, useEffect } from 'react';
import isEqual from 'lodash/isEqual';
function useDeepCompareEffect(callback, dependencies) {
const currentDepsRef = useRef();
if (!isEqual(currentDepsRef.current, dependencies)) {
currentDepsRef.current = dependencies;
}
useEffect(callback, [currentDepsRef.current]);
}
text
Пример использования:
```js
useDeepCompareEffect(() => {
// эффект сработает только при глубоком изменении объекта
}, [someDeepObject]);Важно: глубокое сравнение может быть дорогим для больших объектов, используйте с осторожностью. Для простых случаев лучше нормализовать данные или использовать примитивы.

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