【发布时间】:2022-06-10 17:39:41
【问题描述】:
所以我只是在学习 RTK 查询,我试图在表单中运行一个突变钩子后调度一个动作。我的代码如下所示:
const Login = () => {
const {
register,
handleSubmit,
watch,
formState: { errors },
} = useForm();
const [postCredentials, { isSuccess }] = useLoginMutation();
const dispatch = useDispatch();
const onSubmit = async (data: any) => {
await postCredentials({
username: data.username,
password: data.password,
});
console.log('RESULT', isSuccess);
// {
// isSuccess && dispatch(setUserStatus({ isLoggedIn: true }));
// }
};
---------------
当我提交表单时,它确实会发布到端点并成功响应(Chrome 开发工具中的网络选项卡)。我的问题是在await postCredentials() 函数之后console.log(isSuccess) 是假的,即使我知道POST 是成功的。如果我再次单击,则 console.log(isSuccess) 为真。任何想法我做错了什么?我希望isSuccess 第一次是真的,这样我就可以调度一个新的动作。 TIA
【问题讨论】:
标签: reactjs react-hooks react-redux rtk-query