错误报告

错误报告

React Router 会捕获路由模块中的错误,并将它们发送到 错误边界,以防止在发生错误时出现空白页面。然而,ErrorBoundary 对于日志记录和错误报告是不够的。要访问这些被捕获的错误,请使用服务器入口模块的 handleError 导出。

1. 显示服务器入口

如果你在应用程序目录中没有看到 entry.server.tsx,则表示你正在使用默认入口。使用此命令行命令来显示它:

react-router reveal

2. 导出你的错误处理程序

当 React Router 在服务器上捕获到应用程序中的错误时,将调用此函数。

import { type HandleErrorFunction } from "react-router";

export const handleError: HandleErrorFunction = (
  error,
  { request }
) => {
  // React Router may abort some interrupted requests, don't log those
  if (!request.signal.aborted) {
    myReportError(error);

    // make sure to still log the error so you can see it
    console.error(error);
  }
};
文档和示例 CC 4.0