当我在react-native TextInput组件中删除所有字符串为空时,为什么会出现此错误?

时间:2017-05-31 16:48:20

标签: javascript android reactjs react-native

我在下面有一个react-native代码,当我在键盘上使用delete来清除TextInput组件中的所有字符串时,它总是显示第一个错误图片,当我发出错误并重新输出字符串时,它显示第二个错误图片,任何人都知道这里发生了什么以及如何解决它?

渲染片段

    <View>
      <View>
        <Text>NickName</Text> 
      </View>
      <View>
        <TextInput
          placeholder="NickName"
          onChangeText={(text) => SubjectStore.setDisplayName(text)}
          value={SubjectStore.displayName}
        />
      </View>
    </View>

商店

class SubjectStore {
  @observable user;
  @observable inSignupProcess;

  constructor(firebase) {
    this.user = null
  }

  @computed get displayName(){
    return this.user.displayName
  }

 @action setDisplayName(val){
   this.user.displayName = val
 }

}

第一张错误图片

enter image description here

第二张错误图片

enter image description here

1 个答案:

答案 0 :(得分:0)

我的猜测是,它与onChangeText函数的行为方式有关,与您对商店直接感兴趣的方式有关。你尝试过只使用onChange()吗?如果这不起作用,我会尝试将商店交互拉出到他们自己的辅助函数中,这些函数从那里调用和调试。

enter image description here