我与的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
你有一个演示?我只是提出了一个简单的working example,它似乎运行得很好下反应16.2.0
。请注意,虽然是可选的回调应该使用sparingly。由于文档提到,一旦setState
完成后,将被执行和组件进行重新渲染。因此,一个更好的地方做逻辑this.changeStateCb
将里面componentDidUpdate
。
我有同样的问题发生在我身上。在回调的简单console.log('test')
甚至不运行。事实证明,我不得不删除build目录我/ DIST的文件夹。我使用的脚本类型和的WebPack和从.NET核心模板升级。