Не уверен, правильно ли я это понимаю. Если я создаю дочерний компонент, наберите кнопку, которая увеличивает свой собственный счетчик, возможно ли это сделать, не имея двух отдельных функций? следующее, что я сделал, похоже на взлом? что, если theres X количество кнопок, как бы я реорганизовал этот код более динамичным? REF, похоже, работает так, как я могу ссылаться на html на ребенка, но как насчет другого пути? Я даже думаю об этом правильно, потому что компонент имеет собственное состояние, должен ли он иметь свой собственный метод обновления?React - Состояние обновления для каждого дочернего компонента
/*** @jsx React.DOM */
var MyComponent = React.createClass({
getInitialState: function() {
return {
counter1: 1,
counter2: 1
};
},
increment: function(i) {
if (i === 1) {
this.setState({
counter1: this.state.counter1 + 1
});
} else {
this.setState({
counter2: this.state.counter2 + 1
});
}
},
render: function() {
return (<div>
<ChildComponent item = {this.state.counter1} click={this.increment.bind(this, 1)}/>
<ChildComponent item={this.state.counter2} click={this.increment.bind(this, 2)}/ >
< /div>
);
}
});
var ChildComponent = React.createClass({
render: function() {
return (
<div>
<h1> Counter {this.props.item} </h1 >
<button onClick = {this.props.click} > ++ < /button>
</div >
);
}
});
React.render(< MyComponent/> , document.body);
Прошу прощения, вопрос мне непонятен. Каковы имена двух отдельных функций, о которых вы говорите? – nilgun
Если каждый ребенок имеет функцию приращения i.e increment1 и increment2, я думаю, что я решил это неправильно. Я думаю, что каждый ChildComponent должен иметь собственную функцию увеличения. Решение = https://gist.github.com/antigirl/90f46aa7f51ba05f676a ? –