ReactJs:this.setState的情况下不调用回调函数
ReactJs: callback function is not called in case of this.setState
As in this fiddlehttp://jsfiddle.net/69z2wepo/3535/在CCD_ 2中使用回调CCD_ 3来调用CCD_。但是函数this.loadData
从未作为回调调用。
我不知道这里的内部是如何工作的,但看看setState()
的文档。。。
您可以提供一个可选的回调函数,该函数在
setState
完成并重新呈现组件后执行。
以及CCD_ 7的文档。。。
如果在此方法中调用
setState
,则render()
将看到更新的状态,并且尽管状态发生了更改,但仅执行一次。
我认为这与在this.setState
1中调用setState()
不会排队重新渲染这一事实有关。
考虑到这一点,对loadData
进行初始调用的最合适位置是componentDidMount()
,它在初始渲染后立即启动:
componentWillMount() {
// ...
this.setState({loaded, data});
},
componentDidMount() {
this.loadData();
},
相关文章:
- 为什么(如何)'这'从函数内部调用回调时发生更改
- 在初始函数完成之前调用回调函数
- Node.js exec调用从不调用回调
- 如何从参数数组中调用回调
- 如何在调用回调之前禁用按钮
- 加载文件,然后调用回调函数
- async.retry-已调用回调
- 节点.js“已调用回调”.但是没有任何其他回调
- JavaScript - 返回承诺和/或调用回调
- 解析查询.首次成功/错误 间歇性不调用回调
- 如何使用另一个 JavaScript 文件中定义的类名调用回调函数
- ReactJs:this.setState的情况下不调用回调函数
- $.post到PHP文件-在包含循环完成之前不会调用回调
- 异步加载ASP.NET绑定的Javascript,然后调用回调
- setTimeout()在其设置时间之前连续调用回调函数
- 在其他回调js中调用回调
- Ajax 调用重新加载页面,而不是调用回调函数
- Angularjs $http.get 不调用回调
- 未调用回调函数
- jQuery JSONP 不调用回调