так можно сравнивать пропсы?
isEqual - lodash функция выполняет deep compare объектов
import isEqual from 'lodash-es/isEqual';
const Sample = memo(
someProps => {
// component logic ...
return (
// JSX ...
);
},
(prevProps, nextProps) => !isEqual(prevProps, nextProps)
);
ты ж понимаешь что там могут быть функции?
Но они ведь как ссылки в пропсах
да и если ты их не мемоизировал то твой isEqual не будет работать
Понял, в моём случае я их мемоизировал
ну работать будет
Но насколько это хорошее решение? Перебирать всё, что приходит в компоненту
можно использовать PureComponent
deep проверка точно не нужна
ты уже, прости
Думаю нужна, есть вложенные объекты
а ты уверен что тебе вобще нужно мемоизировать компонент?
Не мутируй их и все ок будет
На всяк случай https://kentcdodds.com/blog/usememo-and-usecallback
Спасибо, не раз видел уже эту статью) но понимание приходит только через решение ошибок)
Обсуждают сегодня