私は、クリックしたときに増分するカウンターを状態で保持する3つの要素を持っているとしましょう。子要素の状態をリセットするにはどうすればよいですか?
1つの要素をクリックすると、他のカウンタを0にリセットするにはどうすればよいですか?あなたのChild
コンポーネントが自分の状態を管理しているので、少し難しいだろう
https://jsfiddle.net/69z2wepo/56827
const Parent = React.createClass({
render() {
const rows = [];
for (let i = 0; i < 3; i++) {
rows.push(<Child key={i} />);
}
return (
<ul>
{rows}
</ul>
);
}
});
const Child = React.createClass({
getInitialState() {
return {counter: 0};
},
handleClick() {
this.setState({counter: ++this.state.counter });
},
render() {
return (
<div onClick={this.handleClick}>
{this.state.counter}
</div>
);
}
});
ReactDOM.render(
<Parent />,
document.getElementById('app')
);
newCounterState [インデックス] = this.state.counters [インデックス] + 1これはアンチパターンでは、 - SETSTATEを使用するよりも他の状態を変更するべきではありません。 –
これは 'state'に変更を加えていないので、単に' state'を使って新しい値を返しています... – QoP
あなたは間違いありません。 –