寻找最常自定义hooks

您所在的位置:网站首页 uselistpage 寻找最常自定义hooks

寻找最常自定义hooks

2024-03-08 12:03| 来源: 网络整理| 查看: 265

寻找最常自定义hooks-----实战篇(分页+状态重置) 前言

之前有发过两篇帖子,分别单独讲述了分页和状态重置,这次对两者进行结合进行实战教学。

项目代码:github.com/onlyheartt9…

一定要下载下来自己运行,方便理解

实战界面

1641314756(1)

分为了9个模块,面向了大部分的业务情况。中间的内容是参数总和。

实战中经常会出现这样的情况,页面上展示内容,以及涉及参数的交互功能放在不同的模块中。(假设中间的为内容展示区域,其他为设置参数的交互地方)

这种情况基本上都会使用状态管理去处理(例如react-redux,reto。我这里使用的reto)

业务代码

code.png

主要核心是对模块的代码进行展示,useStore(XXXStore)返回的是我使用 useList返回的值,params是当前整个的参数存储的地方,展开结构就是最上面实战界面中间的内容。每个模块主要就是根据params的值进行渲染,而修改params的方法就是getList方法,getList方法会在修改params的同时,将新的params放入接口中调用,从而获取新的list值。

这里模块中,每个模块的修改参数的方法,基本上只修改当前属于这个模块的参数,G模块修改G参数类似这种,使业务模块更小,更专一,更好维护。

当然也会出现G模块里面去修改H模块的值。代码中也有展示,想要修改其他模块的值,也是修改对应的属性,实现的原理也是我们保证规范,使用params的内容进行渲染才可以做到。

上述主要是对useList的具体使用,那么重置的相关内容在哪里?

细心的同学可能发现了区域J,这里就是核心使用。

1641315756(1).jpg

参数过多的情况下,会出现重置参数的业务需求。所以需要对useList进行更加业务化的修改

code1.png

useResetState出场了,对几个关键性的值提供了reset方法,

我不会在代码中重复的记录初始值,也不会关心初始值是什么样的,而是利用闭包的优势,将值存储起来。

直接调用封装好的reset方法,即可直接将值还原(将params数据还原为初始参数值)。

而且页面的渲染是基于params的,所以也会带动界面恢复为初始状态。逻辑形成闭环。

到此业务结束。

总结

作为一个程序猿,不会偷懒是不行的。当你不会总结经验,那么你就会陷入无限的重复工作量的过程中。

上述的业务如果只出现一次,那么其实怎么写都可以,无论用任何方法,时间上是没有区别的。

但是重复出现相同业务,我只需要重写参数模块,业务逻辑基本上全部可以复用,会省下来非常非常多的时间,正常这样的业务,完整写下来,需要一天的时间,

我因为有我自己封装的hooks,基本上2个小时就完事了(大部分情况啊,遇见特殊的情况还是需要重新写的)。

那么省下来的时间,就可以正大光明的划水了,看视频不香么(看的绝对是技术视频),看书不香么(我这么帅的人,肯定是在看源码),等等等等

最后

每天进步亿点点,升职加薪迎娶白富美不是梦!!!祝愿我美梦成真。。。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3