@danielkalen/simplybind
Version:
Magically simple, framework-less one-way/two-way data binding for frontend/backend in ~5kb.
55 lines (45 loc) • 1.45 kB
HTML
<html>
<head>
<meta charset="utf-8">
<title>Bind Speed - SimplyBind</title>
<script src="../lib/_helpers.js"></script>
<script src="../lib/react.min.js"></script>
<script src="../lib/react-dom.min.js"></script>
</head>
<body>
<div id="react"></div>
<button onclick="executeTest()">Run</button>
<div id="result"></div>
<script type="text/javascript">
var objectA = {'propA':'123', 'propB':'123'},
altValue = true;
ReactInput = React.createClass({
getInitialState: function(){return objectA},
render: function(){
return React.DOM.input({value: this.state.propA});
},
componentWillMount: function(){
ReactObject = this;
}
});
ReactDOM.render(React.createElement(ReactInput), document.getElementById('react'));
function alternatingValue(){
var returnValue = altValue ? 'firstChange':'secondChange';
altValue = !altValue;
return returnValue;
}
function testFunc(){
ReactObject.setState({propA: alternatingValue()});
};
function executeTest(){
// var avg = averageTime(testFunc);
// // var avg = oneTime(testFunc);
// document.getElementById('result').innerHTML = "Total: "+(avg*10000)+"ms <br />Average: "+avg+"ms";
averageTimeCareful(testFunc).then(function(avg){
document.getElementById('result').innerHTML = "Total: "+(avg*10000)+"ms <br />Average: "+avg+"ms";
});
}
</script>
</body>
</html>