ReactJs的setState回调不工作

问题描述 投票:1回答:2

我与的setState回调一个奇怪的行为,希望有人可以提供帮助。回调只是没有被解雇。

这是我做的:

this.setState(
  (prevState, props) => {
    return { first: obj, questions: [] }
  },
  this.changeStateCb
);

出于某种原因,changeStateCb功能永远不会被调用。当我将其更改为同样的问题:

this.setState(
  (prevState, props) => {
    return { first: obj, questions: [] }
  },
  () => console.log(this.state)
);

我刚刚从v15.x更新到16.2.0

javascript reactjs
2个回答
1
投票

你有一个演示?我只是提出了一个简单的working example,它似乎运行得很好下反应16.2.0。请注意,虽然是可选的回调应该使用sparingly。由于文档提到,一旦setState完成后,将被执行和组件进行重新渲染。因此,一个更好的地方做逻辑this.changeStateCb将里面componentDidUpdate


1
投票

我有同样的问题发生在我身上。在回调的简单console.log('test')甚至不运行。事实证明,我不得不删除build目录我/ DIST的文件夹。我使用的脚本类型和的WebPack和从.NET核心模板升级。

© www.soinside.com 2019 - 2024. All rights reserved.