gpt4 book ai didi

javascript - React hooks setState 在 try catch 中可能存在的错误

转载 作者:行者123 更新时间:2023-12-01 01:12:00 25 4
gpt4 key购买 nike

我有一个函数来处理登录表单的提交,但发生了一些非常奇怪的事情。如果我在第一次尝试时正确输入所有字段,则一切正常,但如果我触发错误,那么每次运行函数时,即使在函数开始时将其设置为 false,错误也将始终为 true。

const initialState = {
email: '',
password: '',
error: false,
success: false
};
const [state, setState] = useState(initialState);

const handleSubmit = e => {
e.preventDefault();
setState({ ...state, error: false, success: false });

props.form.validateFields(async (err, values) => {
try {
const { data, status } = await axios.post(vManager.path, values);

if (data.token) {
localStorage.setItem('token', data.token);
}

setState({ ...state, success: true });
} catch (err) {
setState({ ...state, error: true });
}
});

};

最佳答案

您在 setState Hook 中缺少 state =>

setState(state => ({ ...state, error: false, success: false }));

Reference

关于javascript - React hooks setState 在 try catch 中可能存在的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55084199/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com