1.插件配置:
"react-native-image-crop-picker": "^0.21.2" //拍照,选择照片
"react-native-image-zoom-viewer": "^2.2.21", //图片预览
"react-native-push-notification": "^3.1.1", //推送
"react-native-root-toast": "^3.0.1", //全局弹窗
"react-native-splash-screen": "^3.1.1", //处理闪屏
"react-native-storage": "^0.2.2", //本地存储
"react-navigation": "^2.12.1", //导航
"axios": "^0.18.0", //网络请求
"react-native-camera": "^1.3.0", //扫码
2.我遇到的坑
(1)关于sectionList组件:
提供一个规定格式的数组,在组件里面指定每个部分(比如列表头部,列表尾部,每一个子项)渲染的样式,就会自动生成一个列表。
"storagesList":[
{"key" : "Name" , "data" : [{"title":"Name","value":"","match":"name"}]},
{"key" : "Information" , "data" : [
{"title":"Parent storage","value":"","match":"parentName"},
{"title":"Hierachy","value":"","match":"level"},
{"title":"Description","value":"","match":"description"},
{"title":"ID Tag","value":"","match":"idTag"}
]
},
{"key" : "Items" , "data" : [
{"title":"Add new item","value":""},
{"title":"Add existing item","value":""}
]
}
]
- 优点:需要增加新的内容时只需要更新数组的数据。
- 缺点:只适合做静态的展示,不适用于含有大量的页面跳转或者赋值之类的动态页面。
(2)关于react-navigation
插件:
这是一个在react项目里面使用的最多的导航插件,官方的推荐。
-
文档推荐的路由组织方式:
遇到的坑 | 解决方法 |
---|---|
A_child跳转到B_child后无法再返回到A_child | 在返回函数里面加入参数null,即goBack(null) |
定义在tab页面下的子页面无法自定义取消底部的导航栏 | 重新组织路由方式 |
3.其它补充:
(1)关于左滑删除功能的实现:
这个官方已经给出了一个组件,但是在官网上并没有相应的文档,如果不想使用插件可以直接使用这个组件:SwipeableFlatList。
(2)生命周期里setState的使用限制:
生命周期 | 调用次数 | 能否使用setState() |
---|---|---|
componentWillMount | 1 | 是 |
render | >=1 | 否 |
componentDidMount | 1 | 是 |
shouldComponentUpdate | >=0 | 否 |
componentDidUpdate | >0 | 否 |
componentWillUnmount | 1 | 否 |
(3)关于App Store上线审核。
-
如果使用了相机、定位等功能,一定要在xcode的info.list的相对应的权限使用说明中说明使用途径,越详细越好。
-
用于审核的屏幕快照除了指定的5.5英寸,还需要在多媒体管理中上传4英寸的快照(可以使用5.5英寸的进行替换)。
网友评论