React Native babelHelpers.asyncToGenerator不是一个函数(react-native 0.44.0)

时间:2017-06-28 03:25:37

标签: reactjs react-native async-await babeljs babel

我很反应/反应原生/巴贝尔世界。我正在尝试使async / await工作。

的package.json

{
  "name": "App",
  "version": "0.0.5",
  "private": true,
  "scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "test": "jest"
  },
  "dependencies": {
    "react": "16.0.0-alpha.6",
    "react-native": "0.44.0",
    "react-native-fs": "^2.3.3"
  },
  "devDependencies": {
    "babel-jest": "20.0.3",
    "babel-plugin-transform-async-to-generator": "^6.24.1",
    "babel-preset-react-native": "1.9.2",
    "babel-preset-stage-3": "^6.24.1",
    "jest": "20.0.3",
    "react-test-renderer": "16.0.0-alpha.6"
  },
  "jest": {
    "preset": "react-native"
  }
}

.babelrc

{
  "presets": ["react-native", "babel-preset-stage-3"],
  "plugins": ["transform-async-to-generator"]
}

我尝试了不同的方法,并且在某些时候它似乎在模拟器上工作,尽管它从未在真实设备上运行。而现在它也不起作用。我明白了:

  

babelHelpers.asyncToGenerator不是函数

enter image description here

我检查了包含与此问题相关的github ticket和stackoverflow question的所有内容(我的问题并非重复,因为它已经过了一段时间而且我使用了不同的react-native版本)。这些都不适合我。

我的问题

那么在React Native应用程序上启用async / await的最佳方式是什么?

1 个答案:

答案 0 :(得分:0)

安装babel-preset-react-native-stage-0并删除babel-stage-3预设 然后,您需要使用--reset-cache选项来构建/启动您的react应用,并且应该会很好