1

我不知道这是反应原生的错误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'}/>有效

4

1 回答 1

1

根据文档。价值道具需要字符串。如果你想使用 state 中设置的数字,你可以这样做

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

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


于 2019-08-24T07:08:35.017 回答