如何获取更有用的错误消息?

Max*_*s S 5 ecmascript-6 reactjs babeljs

undefined每当我尝试访问(例如尝试person.agewhere person === undefined)时,React + ES6 Babel 都会发出以下错误消息

在此输入图像描述

import当我输错语句或在解构对象时犯错误时,也会发生这种情况props。例如,我可能会犯以下错误:

const { name, age } = this.props.person
// but `this.props.person` only has a `name` property.
Run Code Online (Sandbox Code Playgroud)

缺少错误消息是一件痛苦的事情。是否有一些我错过设置的选项?大家都是如何应对这个问题的呢?

Dmi*_*rov 2

这是一个强烈要求的功能,可能会在下一个 React 版本中实现。现在你可以使用redbox-react。据我所知,react-transform-catch-errors已被弃用。

/* global __DEV__ */
import React from 'react'
import { render } from 'react-dom'
import App from './components/App'

const root = document.getElementById('root')

if (__DEV__) {
  const RedBox = require('redbox-react').default
  try {
    render(<App />, root)
  } catch (e) {
    render(<RedBox error={e} />, root)
  }
} else {
  render(<App />, root)
}
Run Code Online (Sandbox Code Playgroud)