1.与原生应用开发采用的命令式编程范式相对应,ReactNative使用的是声明式的编程范式, 比如采用JSX编写布局页面
2.ReactNative的特点:组件化、单向数据流、原生组件、跨Android/iOS
3.框架自有组件的通用样式:
- position:absolute
- aspectRatio:1
- transform: [{ translateX: -50 …
4.创建组件状态的方法:useReducer
5.二进制图片占用3个字节,编码成为Base64后占用4个字节,因此Base64 图片体积比其他二进制图片体积大1/3
6.RN中可以增加 Pressable 组件点按事件的触发区域的方式:
- 增加width
- 增加组件的padding
- 使用hitSlop
7.可以实现视图复用的列表组件是RecyclerListView
8.修改第三方库源码的方法
- 在运行时覆盖底层方法
- 复制源码重写
- patch_package, patch-package 通过生成第三方包的新旧对比文件patch, 在每次安装时修复第三方源码
9.ReactNative的脚手架有哪些
- react-native init
- Expo
- Ignite
10.Reanimated动画库的worklet动画回调函数默认是在UI Thread独立的JS Engine中执行的
11.Gesture手势库用于解决冲突的方法:
- 单手势冲突方法有 Simultaneous、Race、Exclusive
- 解决多手势冲突方法有simultaneousWithExternalGestur、requireExternalGestureToFail
12,RN0.60版本及以上的Hermes引擎提供的enablePromiseRejectionTracker捕获全局Promiss错误
13.在新架构中,使用TurboModule声明API, 使用HostComponent声明组件
14.热更新方案中,将Bundle放在CDN上,客户端直接下载Bundle文件的缺点是, CDN不是一台机器而是网络结点,要更新CDN上的资源,就要删除上千个结点资源,延迟很高
15.RN中基于模块拆包的优点
- 减少Bundle下载的体积
- 模块预加载
- 模块懒执行
16.业内常用的性能优化方案如下
- Rn环境预创建
- 资源异步更新
- 业务接口预缓存
- 采用Hermes字节码