ReactNative中Component生命周期实现

在Libraries/Renderer/oss/ReactNativeRenderer.js中。

Libraries/ReactNative/AppRegistry.js runApplication
Libraries/ReactNative/renderApplication.js renderApplication
    ReactNative.render(renderable, rootTag);
Libraries/Renderer/oss/ReactNativeRenderer.*.js
    updateContainer
    scheduleRootUpdate
    scheduleWork
    performWorkOnRoot
    renderRoot
        performUnitOfWork
        appendAllChildren
    completeRoot
        commitRoot
        commitAllHostEffects
        commitPlacement
        appendChildToContainer
        UIManager.setChildren
        UIManagerModule.java
            mUIImplementation.setChildren(viewTag, childrenTags);
       commitRoot
       commitLifeCycles
       componentDidMount

render: function(element, containerTag, callback) {
    var root = roots.get(containerTag);

    if (!root) {
      // TODO (bvaughn): If we decide to keep the wrapper component,
      // We could create a wrapper for containerTag as well to reduce special casing.
      root = NativeRenderer.createContainer(containerTag, false);
      roots.set(containerTag, root);
    }
    NativeRenderer.updateContainer(element, root, null, callback);

    return NativeRenderer.getPublicRootInstance(root);
  }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • #只管做,不管看 想到这个标题其实是因为今天所看的文章。最近情绪有些失控,就想着能不能从文章中找到控制情绪的方法。...
    热眸先生阅读 2,875评论 0 0
  • 吃完饭 看了寻梦环游记 稀里哗啦,感动 Never forget how much your family lov...
    大悦儿儿阅读 2,713评论 4 5
  • 之前看过一本十分受益的书--《高效能人士的的7种习惯》,书中提到,人生总体分为三个时期。 依赖期,如刚出生的小孩子...
    寒阳198阅读 4,434评论 5 6

友情链接更多精彩内容