我有一个反应页面,并根据一个Axios
调用失败,将错误state
设置为true,默认情况下为false。当其true
时,我显示错误。我尝试如下使用componentDidMount
:
componentDidMount() {
const showError = this.state.saveError;
if(showError) {
setTimeout(() => {
this.setState({
saveError: false
})
}, 3000)
}
}
但是它似乎不起作用,因为一旦设置为true总是显示错误。我如何解决它?还有其他建议吗?
谢谢
答案 0 :(得分:1)
在componentDidUpdate
中更新状态,因为只要组件中有更新,componentDidUpdate
生命周期方法就会执行。
示例代码:
componentDidUpdate() {
const showError = this.state.saveError;
if (showError) {
setTimeout(() => {
this.setState(prevState => {
return {
...prevState
saveError: false
}
})
}, 3000)
}
}
答案 1 :(得分:0)
请显示您的initialState。请在这里说明您要做什么,因为我没有看到任何Axios请求。
将状态值分配给变量没有任何意义:
const showError = this.state.saveError;