wdnmd

rn+ts项目笔记

自己从头开始搭建一个rn项目,对整体结构了解清晰了一点。比如react-navigation之类的,navigation.setOptions之类的,之前不太了解觉得莫名其妙,然后发现原来就是自带的api。堆栈式导航。

之前很多不懂是正常的,rn东西太多了,再加上一个一个的库的引入,关键在于学会解决问题吧。

前期搭建环境花了很多时间,遇到各种问题,之前忘记记录下来了,以及各种安卓 ios的不同问题。

1.对原生的组件进行一层封装,方便添加东西但是又不影响原生组件

  比如touchable

1
2
3
4
5
6
7
8
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.本地数据持久化

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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 @   FreshChick  阅读(270)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示