【发布时间】:2019-10-18 17:31:59
【问题描述】:
我正在尝试使用 Typescript 学习 React 并寻求建议。我已经成功地获得了一个适用于开发和生产环境的 Webpack 构建(minified js with source-map)环境。
我有一个错误边界组件实现带有签名的 componentDidCatch 方法:
componentDidCatch(error: Error, info: ErrorInfo)
我已经设法使用sourcemapped-stacktrace 从缩小的包和源映射中呈现可读的堆栈跟踪。这适用于 Error 对象。
根据React 文档,组件堆栈跟踪应仅在开发环境中记录/呈现。
组件堆栈跟踪是否对应于 ErrorInfo 对象的 componentStack 属性,该对象是 componentDidCatch 方法中的参数?
如果是这样,当环境变量设置为指示开发环境正在运行时,仅记录/显示 ErrorInfo.componentStack 是否被认为是错误边界的最佳实践?
目前,我正在为开发和生产构建显示/记录 ErrorInfo.componentStack。在生产中它只显示缩小的堆栈跟踪,尽管使用
一个包,例如sourcemapped-stacktrace。
【问题讨论】:
标签: reactjs typescript error-handling