React Native频繁跨语言传值

缘起

基于百度地图,使用RN进行封装,以实现业务逻辑代码的复用。
而目前实现轨迹回放的时候,遇到了一个频繁跨语言传值延迟过高的问题。

场景回现

react native的跨语言访问是异步的。
因react native 中js端是单线程,所有从跨语言的传值和事件的传递,都由一个队列queue来维护实现的,通过bridge传递时耗费了一定时间,当累计到一定程度(一秒七次?)的时候,可以明显的感知到。
项目需要把轨迹回放的动画执行进度实时的反馈给用户知晓,并可以在播放过程中,用户随意调节进度,因延迟问题,拖动事件还未到达原生层,动画已播放完毕,导致调节失效。

解决思路

1、寻找RN官方封装的“零延迟传值”模块或原生组件间值传递;寻未果。
2、直接在原生层相互传值,自己封装SeekBar代替官方Slider,并与地图组件互相拥有彼此的对象,直接调用特定方法传递数据;组件间不能互拥对象,APP闪退。
3、使用EventBus;成功,但传值较为麻烦;目前正在使用。
4、基于EventBus思想,定制化实现原生组件间值传递;待实现...

你可能感兴趣的:(React Native频繁跨语言传值)