nextjs13 appdir 出来之后分成了 server component 和 client component ,两套不同的规则和写法,但是实际项目中又得考虑怎么拆分怎么嵌套,server component 无法使用事件监听、hooks 等(那同样是运行在服务端,人家 php 写 html 模板怎么就能用 onclick 呢),而 client component 无法使用 await fetch, form-action 等,同时路由规则,写法规则,api 也越来越多,极大增加了开发者的心智负担,只能说往服务端发展方向是正确的(反正最终目标就是 react+hooks 写法的 php ),但现阶段的 DX 非常差,在写完两个 appdir 项目后,决定暂时放弃 nextjs 了,等真正稳定下来再说。目前调研了几个其他方案,remix/qwik/astro ,惊喜地发现 qwik 解决了目前 nextjs 的大部分问题,大家也可以研究研究这个框架,很不错。
15 条回复 • 2023-07-26 11:22:27 +08:00
|
1
estk 2023 年 7 月 23 日 via iPhone
你可以继续用 pagesdir
|
|
2
theprimone 2023 年 7 月 23 日
还在用 pages router 呢,大佬都弃坑了 😂
|
|
3
amlee 2023 年 7 月 23 日
appdir 的文档我都懒得看,继续用 pages
|
|
4
XCFOX 2023 年 7 月 23 日
不管是可读性、维护成本、性能、SEO ,Remix 都完胜 Server Component:
https://remix.run/blog/react-server-components 个人完全不能理解 Server Component 有什么用。 原本大部分 SSR 的前端应用是为了支持 SEO ,结果 Server Component 都不支持 SEO ,那要 Server Component 有什么用? 另外就是 Server Component 强行整了两套不同的规则和写法。 隔壁 Nuxt.js( https://nuxt.com/docs/getting-started/data-fetching#usefetch ) 整的多好:直接在组件内 await fetch 。 |
|
5
Leonard 2023 年 7 月 23 日
我用 remix
|
|
6
ychost 2023 年 7 月 23 日
最近再也巨硬的 Blazor ,挺好用的,真正的服务端一站式解决了,靠 Webhook 实现服务端 onlick
|
|
7
k9982874 2023 年 7 月 23 日 via Android
早前看 appdir 不支持 i18n 这一条就劝退了,不知道现在怎么样了
|
|
8
YY 2023 年 7 月 23 日
chatgpt 不会写 新版本,所以还是老版本更高效 /doge
|
|
9
sphawkcn 2023 年 7 月 23 日
Server Component 这个应该算是 React 的特性吧,只是 next.js 支持了这一特性而已。
|
|
10
bgm004 2023 年 7 月 23 日 via Android
主要是社区生态没有跟进,之前尝试过。遇到一些问题虽然解决了,但感觉不是最优解。社区对 rsc 的接受度好像一般。
|
|
11
forgottencoast 2023 年 7 月 23 日
@ychost
你说的是 Blazor Server 吧? |
|
12
agdhole 2023 年 7 月 23 日
整个 react 路子都在乱走
|
|
13
laogui 2023 年 7 月 23 日 via Android
qwik 又要学新的写法,推荐 remix ,可以继续用 react 。
|
|
14
ychost 2023 年 7 月 25 日 @forgottencoast .NET 8 Preview Blazor 已经开始支持 Webassembly 和 Server 混合渲染了
|