componentWillReceiveProps如何更新道具的反应?

时间:2018-09-12 11:52:17

标签: reactjs react-redux

下面是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();
        }


       }

1 个答案:

答案 0 :(得分:1)

ComponentWillReceiveProps不会更新道具。当父母重新渲染或您连接到Redux且商店得到更新时,它实际上会接收更新的道具。无论如何,使用ComponentWillReceiveProps是不安全的。现在,这里有一个替代getDerivedStateFromProps