这是一个后续问题。这是上下文的原文: Unable to change state on key press in TextInput component (React Native)
这是到目前为止的代码:
state = {
text: '',
words: 0,
reset: false,
};
updateInput(event) {
if (this.state.reset) {
this.setState({
reset: false,
});
return;
}
this.setState({
text: event.nativeEvent.text,
});
}
<TextInput
value={this.state.text}
onChange={this.updateInput.bind(this)}
onKeyPress={({ nativeEvent }) => {
if (nativeEvent.key === ' ') {
this.setState({
text: '',
words: this.state.words + 1,
reset: true,
});
}
}}
blurOnSubmit={false}
autoFocus={true}
autoCorrect={false}
autoCompleteType={false}
allowFontScaling={true}
keyboardType="default"
keyboardAppearance="dark"
onSubmitEditing={event => {
event.preventDefault();
this.setState({
text: '',
words: this.state.words + 1,
});
}}
基本上,它在用户按下空格键并增加TextInput
状态后清除words
。
按原样,空格键点按两次快捷键不起作用。相反,我认为这是在句点出现之前清除TextInput
。
但是,当我注释掉value={this.state.text}
时,会出现句号。为什么会这样?
我想清除之后出现的TextInput
并捕获包括该期间的值。我该怎么办?