mirror of
https://github.com/facebook/react.git
synced 2026-02-25 05:03:03 +00:00
42 lines
1.1 KiB
JavaScript
42 lines
1.1 KiB
JavaScript
if (typeof exports == 'undefined') exports = {};
|
|
|
|
/*http://benchmarkjs.com/docs#options*/
|
|
|
|
exports.name = 'From setState to callback (x5)';
|
|
|
|
exports.defer = true;
|
|
|
|
exports.setup = function(){
|
|
/*global*/_rootNode = document.createElement('div');
|
|
document.body.appendChild(_rootNode);
|
|
/*global*/setState = null;
|
|
|
|
var AwesomeComponent = React.createClass({
|
|
getInitialState: function(){
|
|
return { random:null };
|
|
},
|
|
render: function(){
|
|
if (!setState) setState = this.setState.bind(this);
|
|
return React.DOM.div(null, this.state.random);
|
|
}
|
|
});
|
|
|
|
React.renderComponent(AwesomeComponent(null), _rootNode);
|
|
};
|
|
exports.fn = function(deferred){
|
|
setState({random: Date.now() + Math.random()}, function(){
|
|
setState({random: Date.now() + Math.random()}, function(){
|
|
setState({random: Date.now() + Math.random()}, function(){
|
|
setState({random: Date.now() + Math.random()}, function(){
|
|
setState({random: Date.now() + Math.random()}, function(){
|
|
deferred.resolve();
|
|
});
|
|
});
|
|
});
|
|
});
|
|
});
|
|
};
|
|
exports.teardown = function(){
|
|
React.unmountComponentAtNode(_rootNode);
|
|
};
|