Javascript Reactjs-componentWillMount setState会导致未安装组件的状态更改

Javascript Reactjs-componentWillMount setState会导致未安装组件的状态更改,javascript,reactjs,Javascript,Reactjs,我有以下代码: componentWillMount() { this.props.actions.A().then(result => { this.setState({ a: result }); }); } 现在发生的事情是,如果我快速切换页面,我会收到警告:setState(…):只能更新已装入或正在装入的… 我能做些什么来防止这种情况?(显然,使用IsMounted属性可以解决此问题,但作为一种读取方法,它已过时)尝试使用componentDidM

我有以下代码:

componentWillMount() {
   this.props.actions.A().then(result => {
        this.setState({ a: result });
    });
}
现在发生的事情是,如果我快速切换页面,我会收到警告:
setState(…):只能更新已装入或正在装入的…


我能做些什么来防止这种情况?(显然,使用IsMounted属性可以解决此问题,但作为一种读取方法,它已过时)

尝试使用
componentDidMount
lifecycle挂钩。是的

componentDidMount() {
  this.props.actions.A().then(result => {
        this.setState({ a: result });
    });
}
下面是FB所说的:
“装入组件后会立即调用componentDidMount()。需要DOM节点的初始化应转到此处。如果需要从远程终结点加载数据,这是实例化网络请求的好地方。此方法中的设置状态将触发重新呈现。”

错误!文件上说要使用组件willmount你能把你读到的链接发给我吗
componentDidMount
用于设置组件的初始状态以及从API获取数据
componentWillMount
componentDidMount
之前激发,并且您正试图在尚未装入的组件中设置状态。这就是你收到错误消息的原因。下面是另一个线程,它讨论了为什么在
componentDidMount
中调用
setState
不是反模式。关于这个主题,有许多相反的帖子,无法得到明确的答案,我知道,因为很多人对在React中何时从远程端点获取数据感到困惑
componentDidMount
是执行此操作的地方,当您的
Promise
解析后,您可以设置组件的状态以触发重新渲染。