React.memo с методом isEqual из lodash несовместим? - PullRequest
0 голосов
/ 28 марта 2019

Я пытаюсь преобразовать свои компоненты для использования с React.memo.проблема в том, что некоторые из моих компонентов имеют объекты или массивы, которые я хотел бы глубоко сравнить.

Глядя на реагирующие документы для заметок, я могу передать функцию для сравнения.

Iпредоставили ему метод глубокого сравнения lodash isEqual, и он иногда не работал.

Я думаю, что есть некоторая проблема с isEqual, когда он пытается сравнить компонент реагирования с дочерним подпоркой внутри.

ПримерРеагирующая дочерняя структура: example

Запуск lodash isEqual между двумя дочерними объектами возвращает false, даже если они полностью совпадают.

Я хотел бы найти способ продолжать использовать lodash isEqual, так какпрекрасно работает с любым другим типом структуры, но, возможно, измените его для работы с детьми.

Есть предложения?

Спасибо !!!

PS - Я управляюМетод Лодаша, как это:

const component = React.memo((props) => {
...code here with children usage..
}, (oldProps, newProps) => _.isEqual(oldProps, newProps)
...