Javascript RN TextInput/NB输入在一段时间后变慢
我一直在使用NativeBase作为React Native UI工具包,并且与这个我无论如何都无法解决的巨大问题完全分离 在一个包含NB输入的页面中(在本例中使用floatingLabel),我实现了一个简单的按钮,该按钮仅在文本字段中写入内容时显示,并允许用户通过管理组件内部状态和设置输入组件的“value”属性来清除输入Javascript RN TextInput/NB输入在一段时间后变慢,javascript,reactjs,react-native,jsx,native-base,Javascript,Reactjs,React Native,Jsx,Native Base,我一直在使用NativeBase作为React Native UI工具包,并且与这个我无论如何都无法解决的巨大问题完全分离 在一个包含NB输入的页面中(在本例中使用floatingLabel),我实现了一个简单的按钮,该按钮仅在文本字段中写入内容时显示,并允许用户通过管理组件内部状态和设置输入组件的“value”属性来清除输入 <Item underlined success floatingLabel style={{flexDirection: "row-reverse"}}&
<Item underlined success floatingLabel
style={{flexDirection: "row-reverse"}}>
<Label>{I18n.t("handlingUnitCode")}</Label>
<Input autoFocus={true}
blurOnSubmit={false}
autoCorrect={false}
multiline={false}
numberOfLines={1}
keyboardType="phone-pad"
value={this.state.hu}
onSubmitEditing={(evt) => {
const hu = evt.nativeEvent.text;
this._setHU(hu);
if (hu.length > 0) {
this._loadHU();
}
}}
onChangeText={(hu) => this._setHU(hu)}/>
{
this.state.isHUInserted
? <Icon name="close" onPress={() => this._setHU("")}/>
: undefined
}
</Item>
{I18n.t(“handlingUnitCode”)}
{
const hu=evt.nativeEvent.text;
这是(胡),;
如果(hu.length>0){
这个;
}
}}
onChangeText={(hu)=>this.\u setHU(hu)}/>
{
这是我的国家
?这个。_setHU(“”)}/>
:未定义
}
完整的组件代码如下所示:
一旦用户多次写入和清除输入字段,它开始变慢和缓慢,同时使用键盘逐个字符写入。问题主要发生在输入被写入和清除40-50次之后,并逐渐变得越来越慢
有趣的是,一旦组件被销毁并重新创建(例如来回导航),延迟就会消失并恢复正常,但重复相同的过程后,问题又出现了
图书馆版本包括:
- 反应本机:0.55.3
- 本地基数:2.4.2
- 安卓7.0仿真器
- 安卓7.0手机
- 搭载安卓7.0的Galaxy S7
任何帮助都将不胜感激 避免在构造函数中使用箭头函数和绑定函数来修复问题使用react native textinput调用只是将所有箭头函数替换为构造函数时创建的绑定函数,问题在相同的时间后发生,并且仅在已强调的textinput上发生。