我不知道这是否是响应本机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'}/>
有效
答案 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"
/>