
nextjs version: 14.1.0
当我在服务端页面使用 client component 组件时,发现一个问题就是,页面已经渲染出来,但 client component 无法及时处理对应的事件(例如 click ,change 等),需要等一会才可以
问了一下 gpt ,好像是因为有一个 "水合" 的现象,用 useState + useEffect + 骨架屏解决了这个问题,类似于
const [isHydrated, setIsHydrated] = useState(false) useEffect(() => { setIsHydrated(true) }, []) if(!isHydrated) { return 骨架屏 } return 真正的视图 两个疑问:
1 stimw 2024-02-02 22:26:42 +08:00 via Android 这是 page router 还是 app router |
3 nddcc 2024-02-05 17:27:07 +08:00 nextjs 14 dev 环境下确实很慢,性能有些问题,看了官网 issue 还是 open 状态。不过打包后就非常快了。 1 、用 nextjs 全部用 use client 都可以,服务端渲染会加快首屏加载速度,还自带 api handler ,所以当 spa 来写也是有优势的 2 、Skeleton 我也是写死高度 |