A new project created with the latest version of react-native throws javascript error while running(/debugging). Tested this on simulator.
[fatal][tid:main]
I updated to the newly released react-native@0.21
and the issue went away. I am not sure if this means the root issue has been resolved since I have seen intermittent success with other "fixes".
One issue is that if there is a .babelrc
in a parent directory to your app, the packager will read that and it will cause this exact error. One way around it is to add a .babelrc
file in your project:
{
"presets": ["react-native"]
}
Here's a comment explaining the issue:
https://github.com/facebook/react-native/issues/4844#issuecomment-204035720
To summarize:
Babel presets 'stage-0'
through 'stage-3'
contain 'async-to-generator'
, which is not not necessary for react-native itself.
The solution is to use the unofficial babel preset 'react-native-stage-0'
npm install babel-preset-react-native-stage-0 --save-dev
.babelrc
{
"presets": ["react-native-stage-0"]
}
or with decorator support
{
"presets": ["react-native-stage-0/decorator-support"]
}
Empty cache and Restart
watchman watch-del-all
./node_modules/react-native/packager/packager.sh start --reset-cache
Solved adding babel stage-1 and react-native preset's to .babelrc in the project's root folder.
{
"presets": ["stage-1", "react-native"],
}
More details here: https://github.com/facebook/react-native/issues/5747
Double check your import path/file names as they are case sensitive
It's usually due to a 3rd party npm dependency that has .babelrc or babel es2015 preset specified in it's package.json.
There's a fix in place: https://github.com/facebook/react-native/pull/11093