RN TextInput / NB输入在一段时间后变慢

时间:2018-05-03 09:52:04

标签: javascript reactjs react-native jsx native-base

我一直在使用NativeBase作为React Native UI工具包,并且完全脱离了这个我无法解决的巨大问题。

在包含NB输入的页面中(在这种情况下使用floatingLabel),我实现了一个简单的按钮,只有在文本字段中写入内容时才会显示,并允许用户通过管理内部组件来清除输入陈述和设置"值"输入组件的支柱。

<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>

完整的组件代码位于:https://pastebin.com/ZVv05PNH

一旦用户多次写入并清除输入字段,它就会开始变得缓慢和缓慢,同时使用键盘逐个字符地写字。问题主要发生在输入写入和清除40-50次之后,并且逐渐变得越来越慢。

有趣的是,一旦组件被破坏并重新创建(例如通过来回导航),滞后就会消失并恢复正常,但在重复相同的过程之后,问题又回来了。

图书馆版本是:

  • react-native :0.55.3
  • native-base :2.4.2

平台测试是:

  • Android 7.0模拟器
  • 使用Android 7.0的手机
  • 使用Android 7.0的Galaxy S7

最后但同样重要的是,在正常运行,调试运行和发布版本(内置签名APK)时会出现问题。

非常感谢任何帮助!

0 个答案:

没有答案