5
比方說,我有三個元素可以保持點擊時增加的計數器。如何重置子元素的狀態?
如果我點擊一個元素,我該如何重置其他計數器爲0?
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
你是對的,我的錯誤。 –