使用Error:
将codePush添加到我的项目中E/ReactNativeJS: undefined is not an object (evaluating 'b.default.sync')
当我使用模块应用程序的新反应项目时,安装代码推送,因为文档说https://github.com/Microsoft/react-native-code-push/blob/master/docs/setup-android.md
一切都很好。
但是当我将代码push添加到我现有的项目中时,模块名为&#34; passenger&#34;,而不是&#34; app&#34;,我按照文档的步骤,添加代码推送手册。< / p>
还要将代码添加到index.android.js
import CodePush from "react-native-code-push";
componentDidMount(){
console.log("CodePush");
CodePush.sync();
}
当我运行我的模块时,会出现此错误。 CodePush
未定义。
有人知道它有什么问题吗?
答案 0 :(得分:1)
最后,我通过在MainActivity中添加一行来解决这个问题:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mReactRootView = new ReactRootView(this);
mReactInstanceManager = ReactInstanceManager.builder()
.setApplication(getApplication())
.setBundleAssetName("main.bundle")
.setJSMainModuleName("TingBadgeManager")
.addPackage(new SQLitePluginPackage())
.addPackage(new CodePush("xxx", getApplicationContext(), com.xxx.xxx.BuildConfig.DEBUG)) // register CodePush Plugin here
.addPackage(new MainReactPackage())
.setUseDeveloperSupport(true)
.setInitialLifecycleState(LifecycleState.RESUMED)
.build();
mReactRootView.startReactApplication(mReactInstanceManager, "TingBadgeManager", null);
setContentView(mReactRootView);
}
关键是,如果您在活动中创建RN,则应在mReactInstanceManager中添加带addPackage
的CodePush。
希望这可以提供帮助。
相关问题:https://github.com/Microsoft/react-native-code-push/issues/871