下面是componentWillReceiveProps的一些代码片段。
在这里,bulkUploadRptSuccess,bulkUploadRptError是数组,bulkUploadRptException是字符串。
所以一旦状态更新了两个数组和一个字符串,它就会打开弹出窗口。 其工作正常。
但是现在当在应用程序中单击任何东西时,每次都打开弹出窗口。
如何在componentWillReceiveProps内部比较条件数组检查。
如何在函数内部比较两个数组值是否相等 谢谢,
componentWillReceiveProps = (nextProps) => {
let { OCFCheckConfig } = this.props;
let { bulkUploadRptSuccess, bulkUploadRptError, bulkUploadRptException } = OCFCheckConfig;
if (nextProps.OCFCheckConfig.bulkUploadRptSuccess.length > 0 || nextProps.OCFCheckConfig.bulkUploadRptError.length > 0) {
this.addPopupOpen();
}
}
答案 0 :(得分:1)
ComponentWillReceiveProps
不会更新道具。当父母重新渲染或您连接到Redux且商店得到更新时,它实际上会接收更新的道具。无论如何,使用ComponentWillReceiveProps是不安全的。现在,这里有一个替代getDerivedStateFromProps
。