升级后,React Native导入无效

时间:2017-10-06 20:56:21

标签: javascript ios reactjs react-native react-native-ios

您好我一直负责一个旧的React-Native iOS项目,我需要将其React-Native从0.25.1升级到0.48.0,但我遇到了很多编译器问题并且无法弄清楚如何更新代码。

我有一个index.ios.js文件,如下所示:

var ReactNative = require('react-native');
var ResumeIns = require('./resume_ins_controller');
ReactNative.AppRegistry.registerComponent('ResumeInsController', () => ResumeIns.Navigation);

根文件夹中的resume_ins_controller.js如下所示:

var React = require('react');
var EntryManager = require('./entry_manager.js');

class ResumeInsNavigation extends React.Component {
  //....
}

和根文件夹中的entry_manager.js如下所示:

class EntryManager {
  //....
}
module.exports = EntryManager;

此代码在升级之前工作正常,但现在我收到此错误:

Super expression must either be null or a function, not undefined

并且堆栈跟踪指向此行:

module.exports = EntryManager;

有谁知道如何让这段代码适用于React-Native 0.48?

enter image description here

1 个答案:

答案 0 :(得分:1)

0.25.1以来,已有一吨的变化。知道更新会有多痛苦,我建议:

  1. 如果应用程序非常复杂:release notes的帮助下按版本更新RN版本,并在必要时rn-diff更新。
  2. 如果应用相当简单:从头开始新的RN项目,并将应用程序的逻辑移到那里。
  3. 无论哪种方式,最好转移到ES2015导入以明确命名与默认导入,因为您所描述的问题很可能是由导入内容的方式引起的,请参阅v0.25.1 deprecations +指向codemod的链接,可能有所帮助。

    祝你好运!

相关问题