react-transform-catch-errors

A React Transform that catches errors inside render()
function and renders a React component with an error message instead.
It’s up to you to choose the React component to render an error message. For example, you may use redbox-react that imitates React Native “red screen of death”.
Installation
First, install the Babel plugin:
npm install --save-dev babel-plugin-react-transform
Then, install the transform:
npm install --save-dev react-transform-catch-errors
Finally, install the component for rendering errors, for example:
npm install --save-dev redbox-react
You may also use a custom component instead.
Now edit your .babelrc
to include extra.babel-plugin-react-transform
.
It must be an array of the transforms you want to use:
{
"presets": ["es2015", "stage-0"],
"env": {
"development": {
"plugins": [["react-transform", {
"transforms": [{
"transform": "react-transform-catch-errors",
"imports": [
"react",
"redbox-react"
]
}]
}]]
}
}
}
It is up to you to ensure that the transform is not enabled when you compile the app in production mode. The easiest way to do this is to put React Transform configuration inside env.development
in .babelrc
and ensure you’re calling babel
with NODE_ENV=development
. See babelrc documentation for more details about using env
option.
License
MIT