当状态为字符串时,React Native TextInput 从状态中读取值。但是当它在数量上时失败
React Native TextInput reads value from state when it's in string. But fails when it is in number
不知道是react native的bug 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'}/>
有效
根据documentation。价值道具需要 string 。如果你想使用 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"
/>
不知道是react native的bug 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'}/>
有效
根据documentation。价值道具需要 string 。如果你想使用 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"
/>