【问题标题】:React-Native Upgrade 0.26 "Super expression must either be null or a function, not null"React-Native 升级 0.26 “超级表达式必须为空或函数,不能为空”
【发布时间】:2016-05-30 14:23:23
【问题描述】:

从 ReactNative 0.25 升级到 0.26 后,我得到了这个众所周知的错误:

"超级表达式必须为 null 或函数,不能为 null".

我知道最常见的原因是从“react-native”而不是“react”导入“组件”。

但在我的所有组件中,我显然都做对了:

import React, { Component } from 'react';

是否有人遇到过此错误的另一个根本原因?现在,我创建了第二个完整的新项目,并尝试使用主项目的现有代码从头开始构建它,直到有一天可能发生错误。但这真的是一个时间杀手......

我不使用以弃用而闻名的 RNMK-Library。

我的依赖似乎对 0.26 有效:

"dependencies": {
    "immutable": "^3.8.1",
    "react": "15.0.2",
    "react-native": "0.26.2",
    "react-native-app-intro": "^1.0.2",
    "react-native-button": "^1.6.0",
    "react-native-drawer": "^2.2.2",
    "react-native-fetch-blob": "^0.4.2",
    "react-native-fs": "^1.4.0",
    "react-native-i18n": "0.0.8",
    "react-native-navbar": "^1.5.0",
    "react-native-router-flux": "^3.22.23",
    "react-native-router-redux": "^0.2.2",
    "react-native-search-bar": "^2.11.0",
    "react-native-side-menu": "^0.19.0",
    "react-native-simple-store": "^1.0.1",
    "react-native-sound": "^0.8.3",
    "react-native-sqlite-storage": "^2.1.6",
    "react-native-swiper": "^1.4.4",
    "react-native-vector-icons": "^2.0.2",
    "react-redux": "^4.4.5",
    "redux": "^3.5.2",
    "redux-logger": "^2.6.1",
    "redux-saga": "^0.10.4",
    "redux-thunk": "^2.1.0",
    "rnpm": "^1.7.0"
}

【问题讨论】:

  • “超表达式必须为null或者函数,不能为null” 不能为null怎么为null?这不只是将它限制为一个函数吗?
  • 哪一行会报错?请向我们展示该代码。
  • @bergi 不幸的是,该错误没有显示正确的代码行,只有一些包裹在真实事物周围的内部结构。看看我自己对这个问题的回答。我发现一个库导致了这个问题,它还没有为 RN 0.26 做好准备

标签: javascript reactjs react-native ecmascript-6


【解决方案1】:

在这期间我找到了根本原因并向以下库提供了一个拉取请求:https://github.com/Qwikly/react-native-router-redux/pull/46

(但是这个库的依赖也应该更新,我在 PR 的 cmets 部分写过)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多