gpt4 book ai didi

javascript - 设置超时。只能更新已安装或正在安装的组件

转载 作者:行者123 更新时间:2023-11-30 08:23:46 26 4
gpt4 key购买 nike

我是 React 的新手,我正在尝试在 1 秒后更改状态

export class Header extends Component {

constructor() {
super()
this.state = {name: 'Will'}
}

render() {

setTimeout(() => {
this.setState({ name: 'Bob' })
}, 2000);

return (
<h1>
{this.state.name}
</h1>
)
}
}

但是给我这个警告

Warning: Can only update a mounted or mounting component. This usually means you called setState, replaceState, or forceUpdate on an unmounted component. This is a no-op. Please check the code for the Header component.

最佳答案

首先,您的render 函数不应有任何副作用(例如启动计时器)。在 componentDidMount 中移动该代码。此外,清除 componentWillUnmount 中的超时,以确保在移除组件后超时不会启动。这应该可以消除您遇到的错误。

关于javascript - 设置超时。只能更新已安装或正在安装的组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49183386/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com