【发布时间】:2020-01-25 14:55:24
【问题描述】:
在此示例中,setAuth 状态未在 axios 调用中更新。如果 HTTP 状态代码为 200,我尝试在 API 调用后更新状态。但状态没有更新。
export default function SignIn() {
const classes = useStyles();
//var apiBaseUrl = "https://reqres.in/api/login";
const [email, setEmail] = useState('');
const [password, setPassword] = useState('');
const [auth, setAuth] = useState(false);
var payload = {
"email": email,
"password": password
}
}
const handleClick = (event) => {
event.preventDefault();
console.log(payload);
// console.log(event);
axios.post('https://reqres.in/api/login', payload)
.then(function (response) {
console.log(response.status);
if (response.status === 200)
setAuth(true);
console.log(auth);
})
.catch(function (error) {
console.log(error);
});
}
【问题讨论】:
-
QQ - 你会尝试将
console.log(auth)放在函数体的顶部吗?另外 - 避免单行条件并使用完整的if(){...} -
另外 - 欢迎来到 SO,享受你的第一个 updoot!
标签: reactjs axios react-hooks