React Native TextInput setState() 隐藏键盘

Ban*_*zin 2 react-native react-native-android

请查看小吃链接, https ://snack.expo.io/@banid/textinput 过滤器视图上的 TextInput(在按下按钮时显示)会在我调用 setState() 时隐藏键盘。我调用 setState 来更新 TextInput 的值。由于这个原因,我无法在 TextInput 上连续输入。这是一个错误还是我做错了什么?谢谢

Hay*_*hat 8

问题是您正在创建一个新的(匿名)函数,该函数在每次更新时呈现 FlatList 的标题

<FlatList .... ListHeaderComponent={() => this.showHeader()} />

因此正在创建一个新的 TextInput 而不是更新现有的。

解决方案

改变 ListHeaderComponent={() => this.showHeader()}

to ListHeaderComponent={this.showHeader}as ListHeaderComponent 可以是一个函数

https://facebook.github.io/react-native/docs/flatlist#listheadercomponent

类似问题:https : //github.com/react-native-training/react-native-elements/issues/559