从经验谈谈为什么需要 swr

103 阅读1分钟

swr 区别于ahooks得useRequest, 后者仅仅是一个请求封装的库,前者是一个状态管理工具,类似的还有zustand

swr用于管理服务端状态, 什么是服务端状态?

在 react 中, 一般称useState的返回值为状态, useMemo 的返回值以及render 时的计算表达式 称为计算属性

在react中, 对于接口发出的查询请求, 总是在接口返回时,通过setState 放到state里,他总是跟服务器数据保持一致, 应视为不可变数据,这种状态,称为服务端状态

大多数时候,只在接口返回时调用setState赋值,后续不会被修改, 如果能有办法 不使用 useState 存储, 似乎更能强调它的语义,以及增加代码可维护性

特殊的,在 form 的场景下, 会需要读取服务端状态,并同步到客户端状态里, 后面会讲如何处理这种场景