【问题标题】:How I can unit test componentWillReceiveProps(nextProps) with jest?如何用玩笑对 componentWillReceiveProps(nextProps) 进行单元测试?
【发布时间】:2019-07-16 08:49:09
【问题描述】:

我如何对 componentWillReceiveProps(nextProps) 进行单元测试?

componentWillReceiveProps(nextProps) {
    if (nextProps.data === undefined || 
        nextProps.data.hasOwnProperty('error') || 
        nextProps.err !== undefined) {
        this.setState({
        messageError: "Something went wrong!"
        });
    }  else if ((nextProps.data).length) {
        this.setState({
            dataArray: nextProps.data
        });
    }  
}

【问题讨论】:

    标签: react-native testing jestjs


    【解决方案1】:

    我想这就是你问题https://medium.com/@pchomphoosang/react-js-how-to-do-unit-testing-on-componentdidmount-componentwillreceiveprops-866385c3e5dc的答案

    但我建议将您的代码从 componentWillReceiveProps 移至 shouldComponentUpdate,因为 CWRP 已被弃用。

    【讨论】:

    • 我要补充一点,componentWillReceiveProps 中发生了状态变化,我们可以通过检查 render() 结果进行测试——比如通过验证某个元素是否出现或消失(因为文章只关注回调属性检查)
    • 谢谢!除了如何测试 this.setState({ dataArray: nextProps.data });这个分支?
    猜你喜欢
    • 1970-01-01
    • 2019-07-08
    • 1970-01-01
    • 2020-06-13
    • 2017-11-29
    • 2023-02-26
    • 2022-06-15
    • 1970-01-01
    • 2020-03-10
    相关资源
    最近更新 更多