最近react圈有没有打包或者状态管理的新技术?

最近react圈有没有打包或者状态管理的新技术?

写了四年react 这两年跑去写vue了。最近有几个项目,想重新捡起来react搞一下。目前社区有没有好用的cli推荐?
之前四年经验用过cra 也自己大果。最常用的是ali开源的umijs 前几年觉得很好用 今年打开官网一看 状态管理还是基于dva,dva这玩意基于redux-sagas搞的必须用yeild,这个关键字会导致丢失ts定义。

这两年一直在用vite构建,目前vite的部署生产能力已经得到验证了,所以新项目会抛弃webpack 继续使用vite。目前选型上只有状态管理没有敲定。圈内大佬有没有好的状态管理推荐?

阅读 1.4k
avatarAI BotBETA

打包技术

在React圈中,Vite 已经成为了非常受欢迎的打包工具,尤其是在新项目上。Vite是一款现代的JavaScript构建工具,旨在提供快速的开发体验,支持热更新等功能,并且不干扰React的功能层,让开发者能更专注于React本身。对于使用Vite进行React项目的开发,这是一个非常好的选择,因为它已经验证了其部署生产能力。

状态管理技术

在状态管理方面,React社区提供了多种选择,以下是一些值得推荐的库:

  1. Redux Toolkit

    • Redux Toolkit 是基于 Redux 的状态管理工具集,它集成了Redux的核心功能,并提供了一系列的工具和方法来简化Redux的使用。
    • 它特别适合大型和复杂的项目,因为它提供了可预测的状态管理,让数据流更加清晰。
    • Redux Toolkit 通过提供诸如 Action Creators、Reducers、Selectors 等工具,大大简化了Redux的使用。
  2. Zustand

    • Zustand 是一个轻量级、可定制的状态管理库,适合小型项目和偏好简单解决方案的开发者。
    • 它简化了状态管理的过程,无需复杂的设置和概念,并且提供了良好的性能和易用性。
    • Zustand 的核心理念是“全局状态,本地访问”,允许各个组件方便地访问和修改状态。
  3. React Query

    • 虽然React Query本身不直接用于状态管理,但它是一个用于数据获取和状态管理的非常有用的库。
    • 它提供了自动缓存、高效的数据获取以及自定义API端口的功能,非常适合需要实时数据更新和高效数据同步的应用程序。
  4. MobX

    • MobX 是一款简单易用的状态管理库,它采用了响应式编程的思想。
    • 使用MobX,你可以轻松地管理应用的状态,并且无需复杂的中间件和配置。
    • 当状态发生变化时,相关组件会自动更新,这使得状态管理更加简单和高效。

CLI 推荐

对于React项目的CLI,Create React App (CRA) 仍然是一个很好的起点,特别是对于新项目。然而,由于你已经提到对Vite的偏好,并且Vite已经验证了其作为构建工具的强大能力,你可以考虑使用Vite的官方CLI来创建和构建你的React项目。Vite的CLI提供了快速启动项目、开发服务器、构建生产版本等功能,非常适合现代Web开发的需求。

总结

  • 打包技术:推荐使用Vite作为你的构建工具。
  • 状态管理技术:根据你的项目需求选择合适的库,Redux Toolkit适合大型和复杂的项目,Zustand适合小型和简单的项目,React Query适合需要高效数据获取和状态管理的场景,MobX则提供了响应式编程的便利。
  • CLI:考虑使用Vite的官方CLI来创建和构建你的React项目。
2 个回答

好吧 看来大家都藏着掖着。这几天调研后基本选型为 vite+react-router-zustand

  1. 在vite社区中有很多关于react的模板,我从中选取了一个最精简的模板 只包含 eslintts最后加了一个 react-swc。
  2. react-router 路由上感觉很少有其他方案
  3. 状态管理中挑来挑去最后定了zustand。因为这个很像pinia(倒不如说像hooks)。很少的模板代码+支持异步+自带immer中间件

想尝试新技术的话,可以试试字节的rspackrsbuild,最近发布了v1版本,底层使用了rust打包和构建,兼容webpack配置和插件,还是很看好的。和vite对比的话,生产构建还是有优势的。

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