state={username:"",password:""}
...
<TextInput style={styles.inputStyle}
placeholder='email123@mail.com'
autoCorrect={false}
value={this.state.username}
onChange={text =>{
this.setState({username:text});
console.log(this.state.username);
}}
/>
我得到的错误是值正在传递给对象,它引用了textInput开始的那一行,但是我不知道这是怎么可能的
样式就是:
let styles ={
titleStyle:{
fontWeight:'bold',
fontSize: 20,
textAlign:'center'
},
inputStyle:{
backgroundColor:'#d4d4d4'
}
}
在渲染器内部。
答案 0 :(得分:1)
onChange
将返回一个对象,如果您使用onChangeText
,它将直接返回该值。
<TextInput
style={styles.inputStyle}
placeholder='email123@mail.com'
autoCorrect={false}
value={this.state.username}
onChangeText={text => this.setState({ username: text })}
/>
或者,如果您想使用onChange
,可以按照以下方式进行操作:
<TextInput
style={styles.inputStyle}
placeholder='email123@mail.com'
autoCorrect={false}
value={this.state.username}
onChange={event => this.setState({ username: event.target.value })}
/>
阅读React Native - Difference between onChange vs onChangeText of TextInput
答案 1 :(得分:0)
使用onChangeText代替onChange。
答案 2 :(得分:0)
尝试以下代码:
onChange={this.onUserChange}
onUserChange = (e, {value}) => {
if (value)
this.setState({username:value})
}