我正在尝试转换要与React.memo一起使用的组件。 我的某些组件具有对象或数组道具的问题,我想对其进行深入比较。
查看备忘文档,我可以通过一个函数进行比较。
我为它提供了lodash isEqual深度比较方法,但有时没有用。
我认为isEqual在尝试将React组件与内部子项进行比较时存在一些问题。
React子结构示例:
两个子对象之间运行lodash isEqual会返回false,即使它们完全相同。
我想找到一种继续使用lodash isEqual的方法,因为它适用于任何其他类型的结构,但也可以对其进行修改以使其适用于儿童结构。
有什么建议吗?
谢谢!
PS-我正在运行lodash方法,如下所示:
const component = React.memo((props) => {
...code here with children usage..
}, (oldProps, newProps) => _.isEqual(oldProps, newProps)
答案 0 :(得分:0)
您具有onClick属性功能,isEqual无法检查功能是否更改,这就是为什么它返回false的原因。