Was ist das empfohlene Muster für die Ausführung eines setState für ein übergeordnetes Element aus einer untergeordneten Komponente?
var Todos = React.createClass({
getInitialState: function() {
return {
todos: [
"I am done",
"I am not done"
]
}
},
render: function() {
var todos = this.state.todos.map(function(todo) {
return <div>{todo}</div>;
});
return <div>
<h3>Todo(s)</h3>
{todos}
<TodoForm />
</div>;
}
});
var TodoForm = React.createClass({
getInitialState: function() {
return {
todoInput: ""
}
},
handleOnChange: function(e) {
e.preventDefault();
this.setState({todoInput: e.target.value});
},
handleClick: function(e) {
e.preventDefault();
//add the new todo item
},
render: function() {
return <div>
<br />
<input type="text" value={this.state.todoInput} onChange={this.handleOnChange} />
<button onClick={this.handleClick}>Add Todo</button>
</div>;
}
});
React.render(<Todos />, document.body)
Ich habe eine Reihe von Aufgabenelementen, die im Status der Eltern verwaltet werden. Ich möchte auf den Status des übergeordneten Elements zugreifen und über die Komponente TodoForm' ein neues Aufgabenelement hinzufügen handleClick. Meine Idee ist es, einen setState für das übergeordnete Element zu erstellen, der das neu hinzugefügte Aufgabenelement rendert.