下午正式开启小窝后台 Preact 版移植 + 微重构工作,从原有的 Create-React-App 换成 Vite 不说,最关键的还是 React 换成了 Preact,纯 JavaScript 模式转成了 TypeScript。Preact 你可以理解成是精简版的 React,只保留了比较核心的功能,且只能用于 DOM(所以没有 React Native 那种应用了)
过程也是非常艰辛,主要是替换了 FC 组件未使用 Hooks 的代码片段,去除 memo
定义,编写 TypeScript 类型定义为主。这代码迁移过来之后也自然是出现了各种爆红,都是类型异常或者是没做类型检测导致的。
由于对 TS 依然不够熟悉,有很多内置类型定义还是不太清楚,所以这部分我就真的是很有心无力了,好在最后我都尽可能的换上了正确的定义,最难搞的 Fetcher(我自己写的原生 Fetch API 的二次封装)也解决了,接下来的任务除了 Hooks 的替换也就是类型定义了,希望我能在一周之内完成所有过程!
React 的 memo
函数在 Preact 下不可用,但 useMemo
这个 Hooks 依然存在。那么问题来了,useMemo
和 memo
有什么区别?我是否应该考虑重新使用它进行性能优化,避免无必要的内容更新?不得不说,之前的 memo
还是挺好用的!