【发布时间】:2021-05-01 00:49:59
【问题描述】:
我正在从 Apollo 客户端迁移到 Redux 工具包,我对如何在我的 React 组件中使用 createAsyncThunk 和调用 history.push('/') 和 setSubmitting(false) 的 API 调用的结果(成功或错误)感到困惑。
以Formik 和Apollo Client 为例:
onSubmit={async (values, { setSubmitting }) => {
signInMutation({
variables: {
email: values.email,
password: values.password,
},
}).then(
(response) => {
if (response.data.signIn.accessToken) {
localStorage.setItem(
AUTH_TOKEN,
response.data.signIn.accessToken,
);
if (response.data.signIn.User.isNew) {
history.push('/welcome-page');
} else {
history.push('/');
}
setSubmitting(false);
}
},
(err) => {
console.log(`error signin ${err}`);
enqueueSnackbar(err.message, {
variant: 'error',
});
setSubmitting(false);
},
);
【问题讨论】:
标签: reactjs redux redux-thunk redux-toolkit