有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java React本机Android语法错误:试图重新定义属性“key”

在运行react-native run-安卓之后,我在模拟器(测试过的Genymotion和google Stock Emulator)和物理设备(三星S4)上发现以下错误:

enter image description here

键入的错误为: java.util.concurrent.ExcecutionException: java.lang.RuntimeException: SyntaxError: Attempted to redefine property 'key'. (http://192.168.50.37:8081/index.安卓.bundle?platform=安卓&dev=true&hot=false:72450)

  • this stackoverflow discussion中,Genymotion发生了类似的错误(也是java.util.concurrent.ExecutionException),但那里的解决方案对我没有帮助,即adb reverse tcp:8081 tcp:8081
  • 我还尝试将Dev Settings/Debug server host & port for device更改为0.0.0.0:8081,而不是MY_IP:8081,其中MY_IP是我电脑的IP

我正在运行react native 0.22.2


共 (3) 个答案

  1. # 1 楼答案

    我也有同样的错误,但关键字不同

    在我的例子中,关键字在我的css样式中声明了两次

    let styles = StyleSheet.create({
        keyword:{}, 
        keyword:{}
    });
    

    在iOS上没有崩溃或警告,但在Android上造成崩溃

  2. # 2 楼答案

    在v0上遇到相同的错误。49.花了很多时间,终于发现我的css声明中有重复项:

    logo: {
        flex:.3,
        height: 120, 
        marginBottom: 10,
    },
    
    logo: {
        ...styText,
        marginTop: 10
    },
    

    刚刚删除了第二个声明,修复了错误

  3. # 3 楼答案

    问题是:key在某个视图中定义了两次,例如

    <View key={index} key={other} ... />
    

    所以只需删除其中一个key属性

    找到解决方案的中间步骤:

    首先,在React Native菜单中按Start Chrome Debugging时,应用程序将再次运行,但相应浏览器选项卡的控制台中将显示错误。 然后它会显示一条更好的错误消息

    奇怪的是,这个错误没有发生在iOS上