如何在componentWillMount事件中重构代码?

时间:2019-02-07 01:43:38

标签: reactjs

我正在重构我的reactjs(react v16.0.0)组件,并由于弃用而试图将componentWillMount事件的名称更改为componentDidMount。这是原始代码:

componentWillMount() {
      this.setState({
        myVar: this.getValue(),
      });
    }
}

当我将其更改为componentDidMount时,出现错误提示:

Do not use setState in componentDidMount

我该如何解决?如何解决此错误?

1 个答案:

答案 0 :(得分:2)

您可以尝试不直接在componentDidMount上设置状态

componentDidMount() {
    this.onMount(this.getValue());
}

onMount(newValue){
    this.setState({
        myVar: newValue
    });
}

您还可以禁用eslint插件