var DENEMEJSON = React.createClass({
getInitialState: function() { return {
arrayone:[{id:1,city:New York},{id:2,city:Brooklyn}],
arraytwo:[{id:101,city:Hamburg},{id:102,city:Schalke}]
}
},
buttonFunc(){
var str=this.state.arrayone;
str[0].city=Tokyo;
this.setState({arrayone:str});
this.setState({arraytwo:str});
},
buttonFunc2(){
var str=this.state.arrayone;
str[0].city=Pakistan;
console.log(JSON.stringify(this.state.arrayone));
console.log(JSON.stringify(this.state.arraytwo));
this.setState({arrayone:str});
},
render: function () {
return ( <div>
<button onClick={this.buttonFunc}/>
<button onClick={this.buttonFunc2}/>
{JSON.stringify(this.state.arrayone)}
{JSON.stringify(this.state.arraytwo)}</div>
)
}//end return
});
When I click the first button the code does what I want. It sets the arrayone[0].city
and arraytwo[0].city
value to the Tokyo like that.
arrayone
: [{id:1,city:Tokyo},{id:2,city:Brooklyn}]
arraytwo
: [{id:1,city:Tokyo},{id:2,city:Brooklyn}]
And when I click the second button I only want to set arrayone[0].city
value to Pakistan
.(not arraytwo
).
But the code set both arrayone[0].city
and arraytwo[0]
value to Pakistan
.
Why it sets the arraytwo[0].value
to Pakistan
?
What can I do to solve this problem?