0
<script type="text/jsx">
var Counter = React.createClass({
ChangeValue: function(ctr){
alert(this.state.arr[ctr]);
this.setState({
arr : this.state.arr[5]
});
},
getInitialState: function(){
return {
arr:[
'0','0','0',
'0','0','0',
'0','0','0'
],
arr2:[
0,0,0,
0,0,0,
0,0,0]
}
},
render: function(){
var sese = [];
var ctr = 0;
sese.push(<h1>Count: {this.state.arr}</h1>)
for(var i = 0; i < 3 ; i++)
{
for(var j = 0 ; j< 3 ; j++)
{
sese.push(<button type="button" key={ctr} id={ctr} onClick={this.ChangeValue.bind(null, this.ctr)}>{this.state.arr2[ctr]}</button>)
ctr = ctr + 1;
}
sese.push(<br/>)
}
return (
<div>{sese}</div>
);
}
});
ReactDOM.render(
<Counter/>,
document.getElementById('root')
);
</script>
我想这
var Counter = React.createClass({
ChangeValue: function(ctr){
alert(this.state.arr[this.ctr]);
this.setState({
arr : this.state.arr[5]
});
},
,仍然不确定.. 我学反应,得到stucked与我处于警戒CTR ,并不知道解决方案.. 我试图改变我的按钮的价值。如果我点击按钮,该值将变为1,但我的ctr始终未定义。有谁知道为什么我的警报总是未定义?
我并不完全清楚你在这里要做什么,但是如果你通过'ctr',那么我认为你不需要'this' - 换句话说,它应该是'this .state.arr [CTR]'。如果你使用console.log(this.state)'',你会得到什么? – Toby