Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/109.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript/React本机代码中的导入语句出错_Javascript_Ios_React Native - Fatal编程技术网

JavaScript/React本机代码中的导入语句出错

JavaScript/React本机代码中的导入语句出错,javascript,ios,react-native,Javascript,Ios,React Native,我试图在iOS应用程序中为单选按钮合并一个React组件,该组件是用React Native编写的,但是在尝试使用作者指定的方法导入该组件时出错 我首先使用以下语句将组件安装在应用程序的XCode项目/源代码的根目录中: npm i -S react-native-radio-buttons 一切看起来都很顺利,所以我将组件的代码合并到将使用它的屏幕的JS文件中,但在第一行(其中包含import语句)出现错误 import语句如下所示: import { RadioButtons } from

我试图在iOS应用程序中为单选按钮合并一个React组件,该组件是用React Native编写的,但是在尝试使用作者指定的方法导入该组件时出错

我首先使用以下语句将组件安装在应用程序的XCode项目/源代码的根目录中:

npm i -S react-native-radio-buttons
一切看起来都很顺利,所以我将组件的代码合并到将使用它的屏幕的JS文件中,但在第一行(其中包含import语句)出现错误

import语句如下所示:

import { RadioButtons } from 'react-native-radio-buttons'
错误是:

Uncaught SyntaxError: Unexpected reserved word

据我所知,在ES6中,这应该是一种可以接受的做事方式。如果有人能告诉我为什么会这样,我将不胜感激。提前感谢。

您是否正在使用工具从ES6进行翻译?“导入”不起作用。您是否尝试过:

var RadioButtons = require('react-native-radio-buttons'); 

相反?

反应本机单选按钮
作者在此

我假设每个人都在使用启用ES6功能的Babel。我应该把它添加到自述中

编辑:说明和示例
.babelrc
添加到
0.4.2

请尝试将此
.babelrc
文件添加到您的项目根目录,如提供的示例所示:

{
  "whitelist": [
    "es6.modules"
  ]
}

不,不用工具。根据下一页,import语句应该在ES6中工作,我尝试将其更改为您建议的代码,但是它在导入组件的代码中的其他地方给出了使用类似导入语法的错误-很不幸,这似乎不是一个解决方案。我要说的是“导入”是ES6,必须翻译成另一种语法才能让React Native感到高兴。后续的错误是否可能使您更接近修复?此外,我刚刚确认,在我自己的测试项目中,这种语法会产生与您报告的相同的错误。哦,我明白了。我将所有的导入语句都更改为您建议的语法,现在它抱怨导出语句,它看起来如下所示:导出默认单选按钮;导出{分段控制};导出{RadioButtons}我打算将它们更改为类似module.exports=Item的内容;但我不确定如何处理“默认”导出行。请尝试首先直接通过Babel推送源代码。这可能会有所帮助。添加了.babelrc,在我将“use babel”放在包含import语句的文件顶部之后,它开始工作了。谢谢