ReactJs:this.setState的情况下不调用回调函数

ReactJs: callback function is not called in case of this.setState

本文关键字:调用 回调 函数 情况下 this setState ReactJs      更新时间:2023-09-26

As in this fiddlehttp://jsfiddle.net/69z2wepo/3535/在CCD_ 2中使用回调CCD_ 3来调用CCD_。但是函数this.loadData从未作为回调调用。

我不知道这里的内部是如何工作的,但看看setState()的文档。。。

您可以提供一个可选的回调函数,该函数在setState完成并重新呈现组件后执行。

以及CCD_ 7的文档。。。

如果在此方法中调用setState,则render()将看到更新的状态,并且尽管状态发生了更改,但仅执行一次。

我认为这与在this.setState1中调用setState()不会排队重新渲染这一事实有关。

考虑到这一点,对loadData进行初始调用的最合适位置是componentDidMount(),它在初始渲染后立即启动:

componentWillMount() {
  // ...
  this.setState({loaded, data});
},
componentDidMount() {
  this.loadData();
},