ReactNativeForAndroid架构初探,小伙伴们需要看看这个!
c精英层: c精英层主要封装javascriptcore,执行js的解析。 基于javascriptcore,web开发人员可以利用es 6的新功能( class、箭头操作器等),完全没有reactive本机在javascriptcore上运行的浏览器互换性。 bridge为Java & lt; & gt; 正在桥接js通信的核心接口。 jsloader主要将来自assets目录的文件或本地文件加载到javascriptcore中,然后通过jscexetutor解析js文件。
js层:主要处理事件分发和uilayout,主要包括:component:js层通过js/jsx创建的virtualdom构建component或module。 virtualdom是DOM内存中的轻量表示,可以从不同的渲染引擎在不同的平台上生成ui。 component的使用在react中非常重要。 component的存在是因为使DOM diff的计算更有效率。
生命周期& amp; data:react组件通过内部state变量来控制生命周期和事件回调。 如果getinitiallstate方法用于定义组件的初始状态,则后续组件可以使用this.state属性读取该状态。 触发事件(或激活setstate方法以更新数据)时,this.setstate方法会更改状态值,并在每次更改时自动调用this.render方法以重新渲染组件。layout:react使用CSS-layout,CSS-layout使用JavaScript实现flexbox,与DOM无关,编译为object-c或Java,最终达到跨平台展示目的,但暂时不支持CSS 3,暂时只是简单的布局和一般的动画2)Js与Java通信机制:
领取专属 10元无门槛券
私享最新 技术干货