我的项目中有一个情况,我需要检查props是否相等,以防止多余的render方法调用并提高性能。问题是我不能使用 React.PureComponent ,因为属性没有平坦的结构。
{
"header": "HeaderName",
"data": [{...}, {...}],
"configuration": {....}
}
我用lodash实现了 shouldComponentUpdate 方法。
shouldComponentUpdate({data: newData, configuration: newConfiguration}) {
const {data, configuration} = this.props;
return !_.isEqual(data, newData) || !_.isEqual(newConfiguration, configuration);
}
值得使用lodash / underscore isEqual方法来检查React组件中的属性是否相等?它是否显着降低了应用程序性能?这个问题的最佳解决方案是什么(我无法改变属性的结构)?