React native 第一次按下按钮时,控制台中的React Native TextInput值显示为空
当我第一次输入'abc'作为用户名时,该值接收为空。 第二次,当我将其输入为“def”时,值接收为“abc”。 同样,为什么它返回TextInput中的上一个值?如何在输出的同时获取特定的输入React native 第一次按下按钮时,控制台中的React Native TextInput值显示为空,react-native,button,submit,hook,textinput,React Native,Button,Submit,Hook,Textinput,当我第一次输入'abc'作为用户名时,该值接收为空。 第二次,当我将其输入为“def”时,值接收为“abc”。 同样,为什么它返回TextInput中的上一个值?如何在输出的同时获取特定的输入 export default function App() { const [id , setId] =useState(''); const [pw , setpw] =useState(''); const [user , setUser] = useState({userName:''
export default function App() {
const [id , setId] =useState('');
const [pw , setpw] =useState('');
const [user , setUser] = useState({userName:'', password:''});
const checkDetails = () => {
setUser({userName: id, password:pw});
if ((user.userName == 'abc')) {
console.log('correct');
}
else{
console.log('incorrect');
}
}
return (
<View style={styles.container}>
<StatusBar style="auto" />
<TextInput style={styles.pinInput}
placeholder="User ID"
returnKeyType='next'
onChangeText={
(Value) => setId(Value)
}
></TextInput>
<Text>{user.userName}</Text>
<TextInput style={styles.pinInput}
placeholder="Password"
textContentType='password'
returnKeyType='next'
secureTextEntry={true}
onChangeText={
(Value) => setpw(Value)
}
></TextInput>
<Text>{user.password}</Text>
<TouchableOpacity
onPress={checkDetails}
returnKeyType='go'
>
<Text style={styles.LoginButton}>
Login
</Text>
</TouchableOpacity>
</View>
);
}
导出默认函数App(){
const[id,setId]=useState(“”);
const[pw,setpw]=useState(“”);
const[user,setUser]=useState({用户名:'',密码:'});
const checkDetails=()=>{
setUser({用户名:id,密码:pw});
如果((user.userName=='abc')){
console.log('correct');
}
否则{
console.log(“不正确”);
}
}
返回(
setId(值)
}
>
{user.userName}
setpw(值)
}
>
{user.password}
登录
);
}
您需要调用setUser({userName:id,password:pw});关于更新值输入