const Login=(props)=>{
const [email, setEmail] = useState("");
const [password, setPassword] = useState("");
const [user, setUser] = useState({});
const login = (e)=>{
e.preventDefault();
axios.post('/login',{email, password})
.then(response => {
setUser(response.data)
console.log(response.data, user, "user data");
}).catch(err => {
console.log(err);
})
}
这是我的登录请求代码,它获取数据并将其记录在控制台中,但它不想设置用户
答案 0 :(得分:1)
因为 setUser
是异步的。所以新状态只在组件重新渲染时更新。您可以通过在 console.log
函数外移动 login
来检查
console.log(user, "user data");
return(...)
答案 1 :(得分:0)
您可以在组件重新渲染后使用 useEffect 检查状态:
useEffect(() => {
console.log(user);
}, [user])