将ES7 Decorator支持添加到React Native项目

时间:2017-05-15 15:25:45

标签: react-native

我想允许我的React Native应用程序使用Decorators,但我该如何实现?

在React中,它非常简单:

  1. 我跑了yarn run eject
  2. 我修改了webpack.config.*.js并添加了plugins: ['transform-decorators-legacy']
  3. 如何实现与react-native类似的功能?我通过react-native CLI实例化了我的项目 - react-native init AwesomeApp

    但是,eject命令不存在。

1 个答案:

答案 0 :(得分:4)

当您仅使用React Native CLI开发应用程序时,您无权访问配置文件,例如webpack.config.jseject命令。

但您可以通过修改decorators文件,通过相同的Babel插件添加.babelrc支持。请按照以下步骤操作:

  1. 将插件安装到项目中(作为dev依赖项):yarn add --dev babel-plugin-transform-decorators-legacy;
  2. .babelrc文件中声明插件:"plugins": ["transform-decorators-legacy"];
  3. 现在,下次启动packager(或捆绑源代码)时,React Native将能够解释您在JavaScript文件中使用的装饰器。

    this article中给出的示例完全显示了我上面描述的内容。

    此外,您可以查看Haul,这是一种使用webpack创建React Native应用的工具。

    祝你好运!