Javascript 如何更改componentDidMount中的状态?

Javascript 如何更改componentDidMount中的状态?,javascript,reactjs,Javascript,Reactjs,我有一个react页面,根据Axios调用失败,我将errorstate设置为true,默认为false。当其为true时,我显示一个错误。我尝试使用componentDidMount实现以下目的: componentDidMount() { const showError = this.state.saveError; if(showError) { setTimeout(() => { this.setState({ saveError: f

我有一个react页面,根据
Axios
调用失败,我将error
state
设置为true,默认为false。当其
为true
时,我显示一个错误。我尝试使用
componentDidMount
实现以下目的:

componentDidMount() {
  const showError = this.state.saveError;
  if(showError) {
    setTimeout(() => {
      this.setState({
        saveError: false
      })
    }, 3000)
  }
}
但它似乎不起作用,因为一旦设置为true,错误总是会显示出来。我怎么修理它?还有其他建议吗


谢谢

请出示您的初始状态。请解释一下你想在这里做什么,因为我没有看到任何Axios请求

将状态值赋给变量没有任何意义:
const-showError=this.state.saveError

更新
componentdiddupdate
中的状态,因为只要组件中有更新,就会执行
componentdiddupdate
生命周期方法

示例代码:

 componentDidUpdate() {
    const showError = this.state.saveError;
    if (showError) {
        setTimeout(() => {
            this.setState(prevState => {
                return {
                    ...prevState 
                    saveError: false
                }
            })
        }, 3000)
    }
}

是否应该是
componentdiddupdate
?您可以初始化组件及其渲染。发布该组件不会被调用。啊,是的。。对的让我来吧。我曾经使用过这些方法。加上这个作为答案。为什么你需要生命周期方法来达到这个目的?基于状态的错误消息的有条件呈现不适合您吗?我试图使用react加载覆盖,因此需要来自状态的内容。但它看起来并不好。正在尝试为屏幕中央的错误消息找到替代方法。