Files
react/perf/tests/setState-callback-5.js
2015-02-19 00:10:31 -05:00

46 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() {
_rootNode = document.createElement('div');
document.body.appendChild(_rootNode);
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.render(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);
};