引导React渲染器:在应用启动时如何获得对根视图的引用?

时间:2019-03-25 15:05:24

标签: nativescript nativescript-angular nativescript-vue

我正在创建一个React renderer for NativeScript(即允许您将React用作NativeScript的UI框架)。

ReactNativeScript.render()(相当于更知名的ReactDOM.render())需要一个根节点(也就是容器)进行渲染。因此,我需要在启动时获得对应用程序根视图的引用(我将其用作React根目录)。但是,我遇到了困难:

/* app.ts */
import { on, run, launchEvent, getRootView } from "tns-core-modules/application";

console.log(getRootView());
// application root view is undefined

on(launchEvent, (data) => {
    console.log(data.root);
    // application launch event's data.root is undefined
});
run();

很明显,我在这里误解了应用程序的生命周期。在启动时如何获得对应用程序根视图(框架)的引用?

相关的引导过程:

1 个答案:

答案 0 :(得分:3)

您应该自己创建根视图https://github.com/nativescript-vue/nativescript-vue/blob/master/platform/nativescript/runtime/index.js#L73

首先创建根视图,然后将其设置为INotifyDataErrorInfo。像这样:

data.root