分享:uni app与react native 差异化
Navigation
- 页面栈
- Uni 可能会有重复的页面栈导致goBack()嵌套
- RN的navigate方法则会将重复页面栈推出
- 向上个页面传参
- Uni 只能通过goBack()并开启一个全局的事件通知/监听$emit/$on来捕获数据(经常有重复触发及捕获不到的情况)
- RN则直接通过navigate方法实现像后传递参数(会将已存在的页面栈推出并返回到目标页面,看上去和goBack()的效果是一致的但支持传递参数,解决了页面栈出现重复嵌套的问题)
- 同时RN在不需要向后传参时同样也提供了goBack()方法用于返回上一页
跨平台编译
- Uni中通过代码中的注释
//#ifdef APP-PLUS 与//#endif
配合来实现不同平台的条件编译 - RN中通过
Platform.OS = 'ios/android/web'
获取内核的方式来在代码中实现条件编译以及文件命名规则两种方式来区分平台特定代码如index.android.ts/index.ios.ts/index.web.ts
所读取的文件是按照目标平台来自动读取的
持续更新......