我正在创建一个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();
很明显,我在这里误解了应用程序的生命周期。在启动时如何获得对应用程序根视图(框架)的引用?
相关的引导过程:
runtime/index.js
platform-common.ts
答案 0 :(得分:3)
首先创建根视图,然后将其设置为INotifyDataErrorInfo
。像这样:
data.root