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