总算优化好两个 React Hooks 了

2022-02-21 · 周一开心大雨

今天的工作任务也是一如既往的平淡,也就是继续对新 DA 和 APM 搞了两下,然后动了动 Coupon 项目。期间本来想对项目的 Antd 进行升级,结果发现了一个比较麻烦的事情,就是我原先的按需引用 Less 方式在新版会出现变量丢失什么的,捣鼓了一阵子,也上网查了下类似问题,暂无简单直接的解决方法,于是又把版本号还原回去了。

睡前把自己的 useParamsuseSearchParams Hooks 都应用到自己小窝后台项目的搜索表单上了,期间主要发现 useParams_defaultValue 变量有些问题,其实是因为 Hooks 被多次调用,但变量只有一个,被反复覆盖了。

我所认为的正确方式还是得在 Hooks 函数里面使用 useState + useEffect 记录第一个值,相当于 Hooks 被使用一次,就有一个独立的「默认值」状态。

这个 Hooks 的使用方式简而言之大概就是这样,比较适合搜索表单的状态管理和提交参数的构建,从数据源头上解决类型混乱的问题。

// setParams 的机制是,保留当前设置的值
// resetParams 的机制是,保留初始化的值
let [params, setParams, resetParams] = useParams();

// { a: 1 } 使用 setParams({ a: 2, b: 2 }) 就会是 {a: 2, b: 2}
// { a: 1 } 使用 setParams({ a: 2, b: 2 }) 再 resetParams() 就会回到 {a:1}
// { a: 1 } 使用 setParams({ a: 2, b: 2 }) 再 resetParams({ b: 3 }) 就会是 {a:1, b: 3}

今日原神进度:

  • 日常委托和刷体力
  • 完成三界路飨祭(渊下宫)其三
  • 完成三界路飨祭(渊下宫)后日谭
咖喱咖喱(Cover 牛奶咖啡)

咖喱咖喱(Cover 牛奶咖啡)

Mukyo木西
Paul

Paul

特立独行的一只前端菜狗。这篇日记编写大概耗时了 0 分钟,内容均为个人原创,并采用 CC BY-NC-SA 4.0 授权协议,转载请注明来源,谢谢!如本站内容对你有所帮助的话,不妨 捐助支持 一下?

近期评论

鲍小螺: 前辈多多指教!ahu: 后生可畏寻梦xunm: 真不错,板子很好看。timochan: 太惨了( ,更新暴毙,如果恢复没成功,数据也 dump 不出来鲍小螺: 在这部分对话中,广树和保罗继续讨论生活的不同方面。保罗提到了技术更新和国内的优秀 IT 技术。广树解释了在国内积累的经验如何在日本产生穿越的感觉,并表达了对于日本生活节奏的喜爱。他还提到了医疗水平的差异和对于生活方式的感受。保罗表示,通过动漫和现实的对比,艺术来源于现实,日本生活的确有着独特之处。他们讨论了国内的生活节奏和就医等方面的压力,以及个人选择的自由。最后,他们也谈到了不结婚不买房的选择和对于房价的困扰。鲍小螺: 该对话进一步讨论了房地产和税收的问题。保罗提到了国内的房地产税和增值税以及日本的固定资产税。广树解释了日本房地产税的收取方式,以及房产税对于国内房产的影响。他认为,与国内相比,日本的房子质量和服务更好。保罗提出疑问,为什么自己拥有的地也要交税。广树解释了类似增值税的原理,并指出在日本拥有房产是稳定安全的。最后,保罗表示从广树的角度来看,情况确实是如此。鲍小螺: 这篇文章的聊天记录也尝试过用 GPT 总结,结果并不是太好,不知道是不是 Prompt 的问题,实际出来的内容过于简练了,于是又耗费了半小时写完,呼~
奇趣音乐盒技术源于 Kico Player
Emmm,这里是歌词君