首先从组件的角度来看下RN的启动流程:(Android为例)
- Native初始化,主要流程:ReactNativeHost -> Activity -> ReactRootView -> startReactApplication -> createReactContextInBackground(期间有模块/UI组件信息收集、JSC初始化等工作)
- 后台异步加载、执行JSBundle
- Native端执行setupReactContext初始化React上下文,调用JS端AppRegistry.runApplication(key,params),key为模块/组件名称,参数包含rootTag、initialProps
- JS端找到注册的对应启动组件,执行renderApplication渲染整个应用
renderApplication函数中会执行:
ReactNative.render( <AppContainer> <RootComponent {...initialProps} rootTag
网友评论

