reactjs - 异常处理没有从 redux action catch 块中完成?
问题描述
我正在使用 redux 操作来执行 api 调用。为此,我使用了 try catch 块,catch 块应该检查异常并在通知中显示它们。
react 组件具有以下代码来调度操作:
useEffect(() => {
dispatch(getData());
}, []);
动作如下:
export const getData = () => async (dispatch) => {
try {
const res = await getListOfData();
dispatch(actionDispatch(VIEW_DATA, res.data));
} catch (ex) {
console.log("ex", ex); //Getting error here
dispatch(
actionDispatch(SHOW_NOTIFICATION, {
message:
ex.response && ex.response.data
? ex.response.data.message
: "Failed to perform action",
open: true,
type: "error",
})
);
}
};
后端的中间件检查令牌是否未过期,如果已过期,则将用户重定向到登录页面并发送 401 错误。现在的问题是我在网络选项卡中得到响应,但是在解决异常时,我收到以下错误:
但是在网络选项卡中,它显示正确的响应如下:
为什么我在控制台中收到无效的钩子错误?任何线索
解决方案
推荐阅读
- android - Dagger 2 androidx 片段不兼容类型
- machine-learning - 如何推导出二元分类问题中的主要影响因素
- laravel - 不同版本的 PHP 7.x
- java - 如何在 Java 8 中将字符流转换为字符串
- entity-framework - 如何使用多个条件在数据库中选择一个条目?
- javascript - 为多个路径加载相同的组件
- c# - 当 IsHTML=True 从 Outlook 2016 编码的 HTML 中获取来自 BodytPart 的文本
- python - 如何从 python 中的图像打印 GUI 中的值?
- reactjs - 如何轻松获取 ts 类型的 react-native element prop?
- javascript - SVG中风问题