javascript - React.addons.batchedUpdates API 的用途是什么?

标签 javascript reactjs

React v0.12发布公告包括以下内容:

New Features:

* React.addons.batchedUpdates added to API for hooking into update cycle

但是我找不到此 API 的任何文档。它的用途是什么?

具体来说,它是否有可能与 Ember.run() 等效?

最佳答案

当响应 onClick 等综合事件时,组件状态更改是批处理的,因此对同一组件多次调用 this.setState 只会导致一次渲染。

如果您正在更改状态以响应其他一些异步回调(例如 AJAX 或 setTimeout),那么每次调用 this.setState 都会导致渲染。您可以将您的工作包装在 batchedUpdates(..) 中以避免这种情况。

var React = require('react/addons');
var batchedUpdates = React.addons.batchedUpdates;
var request = require('superagent'); // AJAX lib

var req = request('GET', ...).end(function(err, res) {
    // invoked when AJAX call is done
    batchedUpdates(function(){
        .. all setState calls are batched and only one render is done ...
    })
});

关于javascript - React.addons.batchedUpdates API 的用途是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26953756/

相关文章:

javascript - 同一个 Provider 的多个声明是否会在 React 中创建新实例?

javascript - 在状态下设置从 API 获取的数据将不起作用

reactjs - 如何在 react 组件中存储用户配置文件信息并全局访问它

javascript - 单页中的多个 Accordion

javascript - jQuery - 逐渐显示 div

javascript - 单击任何内容元素时将焦点设置到 div

c# - 如何在 Internet Explorer 的网页上从 javascript 调用 .Net 控件或类库?

reactjs - 如何在 react 状态下将 HTML 存储为对象属性的值?

javascript - HTML/JavaScript : remember scroll independent of the window size

javascript - webpack 4 react jsx 无法渲染图像