reactjs - 如何在反应组件中使用 window.onerror?
问题描述
我计划使用 window.onerror 将我的 reactjs 应用程序中的所有控制台错误记录到文件中。
所以我有应用程序启动的主要组件并创建了另一个组件ErrorLog,它将有这个window.onerror。但我不确定如何在反应组件中使用这个 window.onerror。有人可以帮我解决这个问题。谢谢。
下面是我的代码,
class ErrorLog extends react.purecomponent {
state = {
error_log: [];
};
componentDidMount() {
window.onerror();
}
render = () => {
return (
);
};
}
现在的问题是如何在 componentDidMount 生命周期钩子中定义 window.onerror 方法,以便它为我提供行号、消息和错误(基本上是登录文件所必需的)。
我不熟悉将这些 javascript 错误添加到日志文件中。有人可以帮我解决这个问题。谢谢。
解决方案
这个简单的添加事件监听器应该可以工作。
class ErrorLog extends react.purecomponent {
constructor(props) {
super(props);
this.state = {
error_log: [];
};
this.handleErrorEnter = this.handleErrorEnter.bind(this);
}
componentDidMount() {
window.onerror = this.handleErrorEnter;
}
componentWillUnmount() {
//Remove here
}
handleErrorEnter = (message, source, lineno, colno, error) => {
console.log("Error message, source, lineno, colno, error:", message, source, lineno, colno, error);
}
render = () => {
return (
);
};
}
推荐阅读
- linkedin-api - LinkedIn Share API - 创建附有 PDF 的帖子
- java - Eclipse 无法导入 import com.google.maps.*(适用于 java Fx 程序)
- javascript - 打破承诺链
- javascript - Feedly API 正在返回会话过期,而不是让我从本地节点环境访问 API
- python - 如何编写用于多次过滤数据帧的函数?
- python - 如何从由字符串创建的字典中获取具有最高值的键?
- javascript - 使用 auth0-spa-js 时,我应该使用 isAuthenticated() 还是 getTokenSilently() 来确定用户是否拥有有效令牌?
- python - json.decoder.JSONDecodeError:期望值:请求中的第 1 行第 1 列(字符 0)
- google-app-engine - 使用 Python Flask 在 Google App Engine 的文件系统上保存图像文件
- excel - 单元格值更改触发的更改事件