我试图发送从我的服务器(express)发送到axios的错误消息,错误消息显示在toastify组件,但错误消息没有显示在这里是登录axios函数与toastify如何显示toastify消息内我的网页从redux?
下面是我代码:
// redux controller
const login = async (username, password) => {
await axios.post("/login",{username,password,},
{ withCredentials: true });};
// reducer page
export function generateError(prop) {
return function (dispatch) {
dispatch({
type: "USER_FAIL"
});
toast.error(prop);
};
}
export function generateSuccess(prop) {
return function (dispatch) {
dispatch({
type: "USER_SUCCESS"
});
toast.success(prop);
};
}
export const login = createAsyncThunk(
"/login",
async ({ username, password }) => {
try {
const data = await authService.login(username, password);
if (data) {
if (data.errors) {
const { username, password } = data.errors;
if (username) generateError(username)
else if (password) generateError(password);
} else {
generateSuccess(data.success);
}
}
return { user: data };
} catch (error) {
console.log(error);
}
}
);
// login page
const handleSubmit = (e) => {
e.preventDefault();
dispatch(login({ username, password }));
}
我正在使用react-tostify和@redux-toolkit,但消息没有显示在我的页面内
3条答案
按热度按时间mo49yndu1#
我修复了它,这里是我的代码:
//auth.js(还原页面)
登录页面:
我意识到,当我备份数据时,它有一个对象名称payload,我使用它从express获取错误消息,然后将消息放入toastify函数gettingError中,它在这里
dsekswqp2#
海我也在寻找同样的问题,而搜索我发现了一个解决方案,在与此:react-toastify-with-redux
我的代码:authAction.js
};
在您的注册页面上添加
就这样...
mctunoxg3#
这个答案可能有点晚了。但是我遇到了这个问题,决定用我的方式来解决。我知道有
toast. promise
来处理promises,我不想每次都调用dispatch.then
。所以我可以把调度传递给我的action Package 器。下面是我的代码。第一个