1. react的哪个状态管理库使用起来更加方便呢? 2.react的路由库哪个最好使用呢?

请问:
1.react的哪个状态管理库使用起来更加方便呢?
2.react的路由库哪个最好使用呢?

阅读 2.5k
4 个回答
1.react的哪个状态管理库使用起来更加方便呢?

如果以方便来说,recoiljotai 这种「原子式」状态管理工具最合适。

2.react的路由库哪个最好使用呢?

「最好用」需要结合项目实际和个人主观看法来说。

对于常规路由库来说,使用最广泛的当然是 React Router,但是目前 V6 版本升级在使用方式上有较大改动。

推荐使用提供基于文件的路由的框架,比如 Next.jsRemix

最方便可能是zustand,路由就是react router,但是我感觉用主流redux也挺好的,说到底,使用方法都差不多。

路由库的选择其实反而简单,不像状态管理,在 React 生态下路由基本是 react-router 一家独大,新的 v6 也已经十分好用了。其他的一些实现其实多多少少也在向 react-router 对齐,没太大必要切来切去。路由库嘛,你还指望玩出花样上天么。

状态管理的问题就太经典了,我从 Vue 切到 React 一年,一开始最大的困惑就是状态管理怎么选。说的好听点是百花齐放,说直接点就是一团乱麻……

刚切过来的时候我不知道怎么选择,无比怀念 Vue ,虽然 vuex 写起来也不如 pinia 舒服,但好歹你不用操心,跟着选就是。当时的我还不熟练,一边在 hooks ,effect 地狱里痛不欲生,一边还要操心状态使用,而这些状态管理又和 react 的机制紧密相连……

还好现在有了比较明确的答案了。算是一点浅浅的经验。

简单点说的答案就是,不存在最好的库,甚至都很难说存在最合适的库,有的时候为了整体使用顺畅,引入多种状态管理都很正常。

redux 就是难用,贼难用,能不用可以不用,没必要给自己找麻烦。
但是—— redux 的原理和机制必须熟悉,每个环节,设计思想,都要去搞懂,必须的,这个基础搞牢固了以后,你确实可以不用去使用 redux 了,对 react 这边也会更得心应手,毕竟函数式的思想贯穿了整个生态。

如果要一个大致通用,写法简单,容易理解,方便导入的, zustand 是目前我看来的最佳。使用简单,容易理解,配合中间件后功能完备,也能在 react 之外使用。

但有的时候有些状态只是在局部页面或者组件之间共享数据,但组件嵌套的深,不想用 context 或者多层传递,我可能会选用 jotai 。它只能在 react 内使用,但支持状态派生,使用轻量无比,几乎毫无心智负担,就当一个全局的 useState 用,非常合适。

mobx 我个人不喜欢且反对。并不是 mobx 不好,它其实特别适合刚从 Vue 转过来的时期的我,但整体设计思想上,和现在的主流是不一致的。用不用纯看个人喜好吧。

其他的库如果真要在 GitHub 上面搜一搜就是一大堆,虽然看起来有的 star 数不多,但用起来其实都没什么毛病,真正的百花齐放…

但从个人经验来说,十几种状态管理用下来,我个人还是目前最推荐 zustand + jotai 的组合,其他什么 recoil 之类的我都尝试过,多少和我个人习惯不一样,也不展开了。

  1. Zustand
  2. React Router
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题