Работа с примером Redux AddTodo в React Native. В первом примере AddTodo ниже используется состояние для хранения значения TextInput и работает нормально.
class AddTodo extends React.Component{
constructor(props){
super(props);
this.state = { todoText: "" };
}
update(e){
if(this.state.todoText.trim()) this.props.dispatch(addTodo(this.state.todoText));
this.setState({todoText: "" });
}
render(){
return(
<TextInput
value = {this.state.todoText}
onSubmitEditing = { (e)=> { this.update(e); } }
onChangeText = { (text) => {this.setState({todoText: text}) } } />
);
}
}
Однако, следуя нескольким примерам Redux, следующий код намного короче и также работает, за исключением того, что TextInput
value
не очищается после отправки
let AddTodo = ({ dispatch }) => {
return (
<TextInput
onSubmitEditing = { e => { dispatch(addTodo(e.nativeEvent.text)) } }
/>
)
}
Есть ли способ очистить значение InputText от onSubmitEditing?