在react-native中考虑TextInput,下面的实现似乎是一种标准方法:
<TextInput
value={this.state.text}
onChangeText={text => this.setState({ text })}
/>
但是,setState()是一个异步函数。我想知道是否可能由于setState()的执行顺序而遇到不一致。
例如:
答案 0 :(得分:7)
setState()是一个异步函数。是否可能由于setState()
的执行顺序而遇到不一致
异步setState()
并不意味着将以任意随机顺序调用setState
。 setState
是异步意味着它只是异步更新状态。
在你的情况下,每当按下某个键时,onChange
处理程序将被调用,并且将调用setState
,这意味着setState
将在每次按键时顺序调用,并将更新状态相同的序列但异步。
答案 1 :(得分:0)
尝试
<TextInput
onChange={(e) => this.setState({ text : e.target.value })}
/>