React native 第一次按下按钮时,控制台中的React Native 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:''

当我第一次输入'abc'作为用户名时,该值接收为空。 第二次,当我将其输入为“def”时,值接收为“abc”。 同样,为什么它返回TextInput中的上一个值?如何在输出的同时获取特定的输入

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});关于更新值输入