wdnmd

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;

  

 

posted @ 2022-02-15 14:15  FreshChick  阅读(250)  评论(0编辑  收藏  举报