rn+ts项目笔记
自己从头开始搭建一个rn项目,对整体结构了解清晰了一点。比如react-navigation之类的,navigation.setOptions之类的,之前不太了解觉得莫名其妙,然后发现原来就是自带的api。堆栈式导航。
之前很多不懂是正常的,rn东西太多了,再加上一个一个的库的引入,关键在于学会解决问题吧。
前期搭建环境花了很多时间,遇到各种问题,之前忘记记录下来了,以及各种安卓 ios的不同问题。
1.对原生的组件进行一层封装,方便添加东西但是又不影响原生组件
比如touchable
import React from 'react'; import {TouchableOpacity, TouchableOpacityProps} from 'react-native'; const Touchable: React.FC<TouchableOpacityProps> = React.memo(props => ( <TouchableOpacity activeOpacity={0.8} {...props} /> )); export default Touchable;
2.本地数据持久化
import AsyncStorage from '@react-native-community/async-storage'; import Storage, {LoadParams} from 'react-native-storage'; const storage = new Storage({ size: 1000, //最大容量 storageBackend: AsyncStorage, //数据引擎 defaultExpires: 1000 * 3600 * 24 * 7, // 过期时间 enableCache: true, sync: {}, }); const load = (params: LoadParams) => { return storage.load(params); }; const clear = () => { return storage.remove({ key: 'myCategorys', }); }; export {clear}; export {load}; export default storage;