错误报告

错误报告

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