使用react生命周期的常见情况(react+ts实现简单jira项目的最佳实践记录)
使用react生命周期的常见情况
react+ts实现简单jira项目的最佳实践记录练手的一套项目
react+ts
虽然内容较少,但是干货挺多,尤其是对hooks的封装,ts的泛型的理解,使用更上一层楼
项目代码:https://gitee.com/fine509/react_jiar
效果图
这是三个主要页面,还有一些小细节
等等
一些值得注意的地方(只是讲大概的功能,没有具体的详解怎么用)
使用错误边界处理,getDerivedStateFromError来处理当某个页面某处地方有报错的时候显示报错组件而不是挂掉。
useSearchParams的使用
这个api可以获取和设置我们这里的params。
react-query的使用
这个库网上对他的介绍是用来管理服务端数据的状态管理库,他好像有点类似于redux,但是不用编写很多的actions,reducer,支持异步请求,用key唯一标识数据,存在一个类似于全局状态管理库的地方。特别适合用于某些表格,比如增删改改查这些,而且也很支持乐观更新。 思路就是 比如增删改查,再发送数据的那一刻直接拿到原来的数据,通过自己编写的逻辑代码,获取到增删改查后的数据,然后直接渲染到页面,看上去就像是直接更新了一样,实际上是先渲染,后台再自己发送请求,当失败的时候,你也可以拿到原始的数据然后重新渲染到页面去,再提示失败。 最后就是我做这个项目特别纠结的一点,数据的管理。
我首先是自己封装了一个hooks。
我的思路是,一个页面可能要获取很多数据,那么Loading这些如果自己写很麻烦,还有多个,为什么loading不能统一管理呢,然后data就设为一个对象,在使用的时候你可以传一个类型过来定义你这个data的类型
然后sendHttp用来发送数据
接受两个参数,第二个参数是当前的数据要放在data的哪个属性上,
使用效果就是
这样就可以统一管理这些数据的状态,但后面发现用起来也是很麻烦。所以我又放弃了,还是原生的写起来舒服啊
直接定义接口
直接使用
害,当然我也想到用redux,但是redux很多都要编写action,reducer这些,也是很繁琐。
最近听朋友说ahooks的usequest也不错,下个项目试试。
最后这个项目学到最多的就是封装各种hooks
封装redux的
封装请求的
还有就是ts的学习,
看到不懂得api就直接类型定义点进去
像这种不懂就点进去,一个一个点击去
在这种狂轰乱炸的情况下,会慢慢了解泛型的使用
到此这篇关于react+ts实现简单jira项目的文章就介绍到这了,更多相关react+ts jira项目内容请搜索开心学习网以前的文章或继续浏览下面的相关文章希望大家以后多多支持开心学习网!
- react和antd项目教程(React引入antd-mobile+postcss搭建移动端)
- react app框架(浅谈React原生APP更新)
- react初学难点(使用react的7个避坑案例小结)
- react 使用实例(React+高德地图实时获取经纬度,定位地址)
- react的setstate第二个参数(示例详解react中useState的用法)
- vscode react插件(基于visual studio code + react 开发环境搭建过程)
- react组件分析(react-diagram 序列化Json解读案例分析)
- reactnative ios(详解React Native与IOS端之间的交互)
- linux虚拟内存实现需要哪六种机制(解析Linux高性能网络IO和Reactor模型)
- reactredux任务处理进度(一文搞懂redux在react中的初步用法)
- react usestate实现原理(浅谈react useEffect闭包的坑)
- vue react和angular(详解React Angular Vue三大前端技术)
- react常用设计模式(提高React界面性能的十个技巧)
- react native web白屏(关于React Native 无法链接模拟器的问题)
- react基础知识入门(浅谈React 的引入)
- react 分页列表优化(使用react-beautiful-dnd实现列表间拖拽踩坑)
- 包水饺(包水饺手法怎么包视频)
- 越南河粉(越南河粉来自哪里)
- 按这几方面养护佛肚竹盆景,保证枝叶繁茂,造型优美(按这几方面养护佛肚竹盆景)
- 冰岛旅游攻略(冰岛旅游攻略及花费八日游)
- 寒假旅游攻略(成都寒假旅游攻略)
- 菲律宾旅游攻略(菲律宾旅游攻略地图)
热门推荐
- mysql各种备份方式(MySQL 逻辑备份与恢复测试的相关总结)
- 宝塔ftp服务器怎么设置(宝塔面板创建的ftp登陆无法连接的解决方案)
- jquery如何实现倒计时
- 阿里云服务器加载镜像操作手册(阿里云、腾讯云、小鸟云服务器中安装wdcp图文教程)
- 云服务器操作系统怎么选(云服务器选择Linux还是windows操作系统比较好?)
- html5中提供的绘图元素(使用Html5中的cavas画一面国旗)
- dedecms修改教程(还原dedecms数据后系统基本参数空白的解决方法)
- 数据化网络流量管理(适合云主机用户使用的流量监控软件)
- flink重启机制(浅谈Flink容错机制之作业执行和守护进程)
- css长度单位px、em、pt
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9