当React Native TextInput处于字符串形式时,它会从状态读取值。但数量失败

时间:2019-08-24 06:59:17

标签: react-native react-native-textinput

我不知道这是否是响应本机TextInput的错误,或者我做错了什么。当我尝试在TextInput上显示基于状态的默认值作为默认值时,它仅适用于字符串,不适用于数字。

        this.state = {referralCode: 10}
<TextInput value={this.state.referralCode}  />

由于某种原因,它不起作用并显示为空,但应从状态读取整数值。当我使用一些字符串作为初始值来更新状态时,TextInput会在初始渲染时显示它。

               this.state = {referralCode: 'Rishav'};

 <TextInput value={this.state.referralCode}

/>

由于它在字符串中,因此恰好现在呈现初始状态值。

另外,  <TextInput value={10}/>失败,但<TextInput value={'10'}/>有效

1 个答案:

答案 0 :(得分:1)

根据documentation。价值道具需要字符串。如果要使用状态中设置的数字,可以这样做

constructor(props) {
    super(props);
    this.state = {
      referralCode: 10
    };
  }

<TextInput
            onChangeText={referralCode => this.setState(referralCode)}
            value={`${this.state.referralCode}`}
            blurOnSubmit={true}
            autoCapitalize="none"
            returnKeyType="done"
          />