[发明专利]一种在React Native组件之间传递native对象的方法和装置有效
申请号: | 201611234768.0 | 申请日: | 2016-12-28 |
公开(公告)号: | CN106843850B | 公开(公告)日: | 2020-05-15 |
发明(设计)人: | 杜艳新 | 申请(专利权)人: | 北京五八信息技术有限公司 |
主分类号: | G06F9/448 | 分类号: | G06F9/448;G06F9/54 |
代理公司: | 工业和信息化部电子专利中心 11010 | 代理人: | 吴永亮 |
地址: | 100083 北京市海淀区学清*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 react native 组件 之间 传递 对象 方法 装置 | ||
本发明提出了一种在React Native组件之间传递native对象的方法和装置。该在React Native组件之间传递native对象的方法,包括:内存数据管理模块将第一React Native组件的待装箱的native对象封装为通用类型的装箱对象;第一React Native组件发送所述装箱对象至javascript业务逻辑模块;第二React Native组件接收所述javascript业务逻辑模块转发的所述装箱对象;所述内存数据管理模块对所述装箱对象进行拆箱操作后得到所述native对象,通过javascript传递任一类型的native对象。
技术领域
本发明涉及React Native技术领域,尤其涉及一种在React Native组件之间传递native对象的方法和装置。
背景技术
React Native是一种允许开发者使用前端语言搭建原生App的技术,其原理是对原生UI组件进行封装,达到使用javascript调配原生UI组件构建界面的目的。搭建的原生App同时具有web App的灵活性,并且具有良好交互体验的优点。
在利用React Native进行实际开发中,经常需要在React Native的组件/API之间通过javascript传递数据,即其中一个React Native的组件/API发送数据至javascript,javascript经过业务处理后将数据发送至另一个React Native组件/API来使用。数据的通用类型为整型、浮点型、字符串、数组、字典等,上述类型的数据可以直接在javascript和React Native组件/API之间传递。但是,ReactNative框架无法将某些特殊的native对象如image对象、自定义的model等转换成javascript可识别的对象,只能将native对象的内存地址当作16进制数或字符串来处理;另一个问题是在对象交给javascript后,native对象的生命周期如何管理。因此,需要一种在React Native组件之间传递native对象的方法和装置,以解决现有技术中存在的上述技术问题。
发明内容
本发明提供一种在React Native组件之间传递native对象的方法和装置,通过javascript传递任一类型的native对象。
本发明采用的技术方案是:一种在React Native组件之间传递native对象的方法,包括:内存数据管理模块将第一React Native组件的待装箱的native对象封装为通用类型的装箱对象;第一React Native组件发送所述装箱对象至javascript业务逻辑模块;第二React Native组件接收所述javascript业务逻辑模块转发的所述装箱对象;所述内存数据管理模块对所述装箱对象进行拆箱操作后得到所述native对象。
优选地,所述内存数据管理模块将第一React Native组件的待装箱的native对象封装为通用类型的装箱对象之后,所述方法,还包括:保存所述待装箱的native对象的强引用。
优选地,所述保存所述待装箱的native对象的强引用之后,所述方法,还包括:所述javascript业务逻辑模块发送释放指令至内存数据管理组件;所述内存数据管理组件基于所述释放指令调用所述内存数据管理模块的移除引用接口移除所述待装箱的native对象的强引用。
优选地,所述内存数据管理模块将第一React Native组件的待装箱的native对象封装为通用类型的装箱对象之前,所述方法,还包括:所述第一React Native组件调用所述内存数据管理模块的装箱方法;相应地,所述内存数据管理模块对所述装箱对象进行拆箱操作后得到所述native对象之前,所述方法,还包括:所述第二React Native组件调用所述内存数据管理模块的拆箱方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京五八信息技术有限公司,未经北京五八信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611234768.0/2.html,转载请声明来源钻瓜专利网。