// Компонент Input
handleChange(event) {
const {value} = event.target;
this.props.onChange(value);
this.setState({value});
}
render() {
return (
<input
type='text'
value={this.state.value}
onChange={this.handleChange}
className='form-control'
/>
);
// Родительский компонент
inputOnChange(value) {
this.setState({todoName: value});
}
addTodo() {
let {todos} = this.props.home;
const id = todos[todos.length - 1].id + 1;
const name = this.state.todoName;
this.props.dispatch(addTodo(id, name));
this.setState({todoName: ''});
// тут с переменной очищается, а инпут нет
}
render() {
const {todoName} = this.state;
const {todos, error} = this.props.home;
return (
<div className="container-fluid">
<div className="col-xs-4">
<Input onChange={this.inputOnChange} value={''} error={error}/>
<button className="btn btn-primary" onClick={this.addTodo}>Add todo</button>
</div>
</div>
);
}
value={this.state.value}
addTodo() {
// ...
this.setState({todoName: ''});
}
Используете ли вы с redux методы жизненного цикла (componentWillReceiveProps и тд..)