Javascript Onchange处理程序未响应此.setState({userName:event.target.value})用户名:未定义,密码:未定义
按下登录按钮后,警报应显示为用户名:“输入值”和密码:“输入值”。但现在显示用户名:未定义,密码:未定义。 如何解决此问题。Javascript Onchange处理程序未响应此.setState({userName:event.target.value})用户名:未定义,密码:未定义,javascript,reactjs,react-native,Javascript,Reactjs,React Native,按下登录按钮后,警报应显示为用户名:“输入值”和密码:“输入值”。但现在显示用户名:未定义,密码:未定义。 如何解决此问题。 导出默认类登录扩展组件{ 状态={用户名:,密码:} setUName=(事件)=>{ this.setState({userName:event.target.value}) } setPW=(事件)=>{ this.setState({密码:event.target.value}) } onSubmit=(事件)=>{ event.preventDefault() c
导出默认类登录扩展组件{
状态={用户名:,密码:}
setUName=(事件)=>{
this.setState({userName:event.target.value})
}
setPW=(事件)=>{
this.setState({密码:event.target.value})
}
onSubmit=(事件)=>{
event.preventDefault()
const{userName,password}=this.state;
警报(`Username:${Username},Password:${Password}`);
}
render(){
返回(
欢迎
在react native中,您可以从TextInput组件的onChangeText属性中获取值
试试这个
setUName=(value)=>{
this.setState({userName:value})
}
<TextInput style={styles.txtInput}
placeholder='Username'
returnKeyType='next'
onChangeText={this.setUName}
/>
setUName=(值)=>{
this.setState({userName:value})
}
无需在OnChange上传递函数,将OnChange属性替换为
<TextInput style={styles.txtInput}
placeholder='Username'
returnKeyType='next'
onChangeText={userName=> this.setState({ userName})}
/>
this.setState({userName})}
/>
似乎您正在使用TextInput,这可能是自定义创建的,也可能是从某个样式库创建的。您应该记录一次参数并检查值的确切位置,因此请尝试下面的代码并在控制台中进行检查,您将知道下一步要做什么
setUName=()=>{
console.log(arguments)
}
在
控制台.log(arguments)
中始终是最佳的调试实践,就像在某些库中一样,这些事件是customEvents,值位于第二个或第三个参数中。可以,谢谢。如果此答案对您有用,请向上投票我的答案:)现在它工作正常。谢谢您的指导
setUName=()=>{
console.log(arguments)
}