错误报告

错误报告



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

1. 揭示服务器入口

如果在你的应用目录中没有看到 entry.server.tsx,那么你正在使用默认入口。使用此 CLI 命令来揭示它。

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
编辑