已有项目转化
在要求与限制 和 静态限制等文章里,可以看到对于可以转化为微信小程序的 RN 项目 还有有一些写法上的要求的。新项目在开发的时候就时刻遵守就OK了,但是对于已经已有的 RN 项目,则必须手动对项目进行 一些修改。
已有 React Native 项目要转化为小程序,需要重点排查修改的点
- 入口文件,切换到
@areslabs/router
这个路由,保持入口文件的足够静态。 页面之间的跳转修改为 history 的方式。 - 动画修改为
@areslabs/wx-animated
库。 - 自定义组件的属性是
JSX
片段,属性名必须以Component
结尾 ,在使用的地方必须this.props.xxComponent
, 不要直接使用xxComponent
。 - 自定义组件操作
children
,必须是this.props.children
, 不要直接children
。 因为xxComponent
,children
的处理比较特殊,需要根据这个全路径
来判断。 - Image 的
resizeMode
属性,不能写在style
里面,要写在props
上。 - 高阶组件的限制。
- 如果是 Redux 项目,需要遵守 Redux 项目对入口文件的要求。
- 不支持的组件/API,需要分平台处理。
- 如果项目使用了第三方组件库,可以参考第三方组件库扩展进行处理。