我最近花了一些时间试图找到一种全面可靠的方法来处理React中的同步和异步操作错误。我正在使用React 15.5.4
和TypeScript 2.4.1
。
我的目标是捕获同步和异步操作(生命周期方法,事件处理程序)中的错误,并将其显示在ErrorDisplay组件中>触发错误的组件的最近父。
这是我尝试过的,但没有一个解决方案似乎涵盖了所有边缘情况:
unstable_handleError
根据https://github.com/facebook/react/issues/2461#issuecomment-311077975仅处理render
中的错误,不处理事件处理程序中的错误我还计划尝试另外一种方法,即在运行时包装每个方法,并使用React上下文传递需要显示给定错误的信息。我有点犹豫使用这种方法,因为React context API仍然标记为实验性的。
思想?