I am pretty new to React, what I want to do is periodically generate several numbers and update the view:
<script type="text/jsx">
var ChartFrame = React.createClass({
datagenerator: function(n, itvl){
function randomD(){
data2fill = [];
for(var i=0; i<n; i++){
data.push(Math.random()*10);
}
this.setState({
"data": data
});
}
var counter = setInterval(randomD, itvl);
return counter;
},
getInitialState: function(){
return {
data:(function(){
this.state.counter = this.datagenerator(5, 1000);
return [];
})()
}
},
render: function(){
var ds = this.state.data;
var divs = ds.map(function(d, i){
return <div> d </div>;
});
return (
{divs}
);
}
});
React.render(<ChartFrame />, document.body);
<script>
However, I get the error message below:
Uncaught TypeError: this.datagenerator is not a function
I wonder what is the correct way to define function in JSX?