现在搞个 SPA (react 系)流行哪些库?

4 天前
 FaiChou

由于很久没写前端了,之前正规写前端项目还是五年前,那时候用 create-react-app + react-router + redux + ant ..

现在的话,这一套都过时了吧。现在流行什么? vite + react-router + swr+zustand + shadcn ?

除了这些还有哪些是必备的库?

UI 库现在都用什么?直接 tailwindcss ?

(虽然大部分代码是 AI 写,但得选好框架和库)

2575 次点击
所在节点    程序员
30 条回复
bgm004
3 天前
@ejin 你要不看看 solidjs 和 preact 。vapor 就是个弟弟。
june4
3 天前
@dssxzuxc vue 搞 vapor ,搞 typescript ,这进化方向不就是 SolidJS 嘛,也是无 DOM (怀疑就是看了 solid 走通了路才搞的),原生 tsx 毫无 ts 问题以及自制插件的需求
wwk
3 天前
tailwind 、tanstack 、shadcn 、zustand 基本够用吧。

orm 得看需求场景了。如果自己要折腾数据库其实还是 prisma 适合些,尤其是涉及迁移同步这些。drizzle 适合纯查询场景,serverless 场景里好用,之前遇到好几个迁移方面的坑。
summerwar
3 天前
@FaiChou #11 drizzle-orm
Ketteiron
3 天前
@wwk #23 drizzle1.0 修复了大量 bug ,包括一堆迁移问题,正式项目可以等待 1.0 发布再转。
prisma 无论如何都不推荐用,很难想象多少公司被 prisma 推进坑里去了。
Ketteiron
3 天前
@june4 #22 vue 最大的一个问题就是没有需求,创造需求。vue3 进展缓慢,这些不去解决,反而炒热度玩 solidjs 吃剩的玩意。vue3 吸收 react 的优点,并且设计上没有 react 带来的心智负担,这个方向相当好,甚至不少人放弃 react 转而去写 vue tsx 。而 vapor 我个人是不认可的,它的发展必定挤占大量开发资源,我手里的一堆 vue 项目都在考虑用 react 重构。yyx 懂开源,更懂炒热度,oxc 之类的项目也是如此。
DOLLOR
3 天前
@june4

SolidJS 还是太 React 里 React 气了。
在我看来,Svelte5 才是 vue 最理想的样子。🐶
wwk
2 天前
@Ketteiron “prisma 无论如何都不推荐用,很难想象多少公司被 prisma 推进坑里去了。”

举例来说呢,坑指什么?从我的角度来看,prisma 至少能解决实际问题。

drizzle 早前就很多人推荐,所以我也深度使用过,社区里早期就一堆狂热粉无脑给新人推荐,导致的问题可不比 prisma 少。
Ketteiron
1 天前
@wwk 最大的问题是性能问题,prisma 一些很简单的操作会生成多个 SQL ,例如几年前 prisma 的 update 一直都是生成 select+update+select 至少 3 个语句,某些情况下会增加到 6 个,这问题至今没有完全解决,复杂联表查询就更不用说了。
而相比之下 drizzle 基本都保证只有一次操作,drizzle 出圈除了营销很大原因是因为性能实在太好,相比原生 sql 几乎感受不到额外开销。而 prisma 很容易碰上莫名其妙的慢 SQL ,一通排查发现是 prisma 自己的问题,再找到 issue 发现存在很久没有任何进展,因此只能无奈地回退拼接 SQL ,类似 issue 我看得都麻木了。
再来就是 DX ,drizzle 的 schema 与 typescript 融合得很完美。prisma 的自定义 schema 很垃圾,间接导致 prisma 的 ts 支持并不理想,json 类型至今还是 any ,使用社区插件又引入新的问题。Model 的设计首先是无法继承,被迫多写很多重复性字段定义,其次让连表查询相当困难,嵌套多不说,最恶心的是一些简单的连表+动态查询不得不回退 SQL 拼接。
prisma 主打的就是类型安全,而实际上很难能称之为安全,相反 drizzle 的设计是真的能避开很多低级运行时隐患,缺点是比较复杂的场景要跟 typescript 打架。

drizzle 的 bug 确实不少,但是对我来说暂时都有办法解决,生产环境目前没有遇到过问题。
spider12
1 天前
可以参考我做的 SPA 模版,组合了当前最酷最先进开发体验最友好的一些库 https://github.com/faner11/react-antd

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1160558

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX