V2EX s1n1an
 s1n1an 最近的时间轴更新
s1n1an

s1n1an

V2EX 第 480177 号会员,加入于 2020-03-31 12:39:59 +08:00
根据 s1n1an 的设置,主题列表被隐藏
二手交易 相关的信息,包括已关闭的交易,不会被隐藏
s1n1an 最近回复了
@w568w 感谢解答,确实是心理作用,毕竟我以为是 CUDA 禁用了,现在懂了
打印日志,看到 useSession() 在服务端预渲染时,返回始终是 { data:null, isPending: true },这是对的,符合预期;
那问题就出在 useSession() 在客户端运行,应该是客户端运行时,页面右上角的登录态渲染的比较早,触发了 useSession 并发送请求,此时页面内深层的组件还没加载出来时,然后 useSession 提前拿到返回值了,这就导致后续组件渲染时是已登录状态,与服务端未登录的状态不一致,触发 Hydration Error
@Razio
全部 SSR 肯定没问题,也不会有 Hydration Error ;哪怕用根 HydrationBoundary 把登录状态提前 prefetch ,也不会报错的,我上面就说了呀。

我主要是希望尽可能多静态渲染,只有非 SSR 不可的页面再 SSR ;
右上角那个登录状态,所有页面都要用,所以要是这里用 SSR 来读 cookies 的话所有页面都是 SSR 了,不符合需求;
所以我之前和 4 楼说的一样,右上角那个登录态做成客户端组件,用 useQuery 去查登录态,请求返回之前有个 loading 的样式占位,这一切正常。

现在问题,只要客户端组件多处用到 useQuery (或者 better-auth 的 useSession ,也一样) 来查询登录态,居然能出现 Hydration Error ,这是客户端组件啊,刷新 N 次就能复现一次;如果是上级 layout.tsx 用 SSR 把数据注入 <HydrationBoundary>,那触发的更频繁了,基本刷新 2 次就复现一次。
当然是登录时才有这 Error ,退出登录就好了,刷新 100 次也没 Error 。

对登录 hook 的返回值打 log 发现,如果是这个顺序:A undefined 、B undefined 、C undefined 、A 已登录、B 已登录、C 已登录,这样就正常;
报错的时候是这样:A undefined 、A 已登录、B 已登录、C 已登录,或者是:A undefined 、B undefined 、A 已登录、B 已登录、C 已登录,这样就报错了;
难不成 useQuery() 在预渲染的时候返回值不稳定?如果变的时机提前了,例如在 B 代码运行前就变了或者在 C 代码运行前就变了,就导致后续的若干个组件出问题?

请求数据也都是先根据 isPending 再根据 data 来读取的,想不明白怎么还能这样;本来我以为是 better-auth 的 isPending 有问题,查了一下,确实之前有这个 bug ,但是五月份已经修复并 merged 了;也试了一下不根据 isPending 也是有问题。

也像我说的一样,如果用 useMounted() 来提前区分一次,这样也是 100% 不报错的;
所以我觉得是 Next.js 在预渲染的时候出问题了?毕竟就算是客户端组件也会预渲染。
@heishu 用 middleware 的话也是,所有页面失去 SSG ,和 HydrationBoundary 是一样的
这 VSCode 最近更新的都是啥啊,这两天 ESLint 的扩展也是,更新后直接挂了不能用,一堆 Issue ,降级后发现上个版本还是 2023 年的笑死
估计是爬虫,我去年就遇到了,47.128.xx.xx 的 IP 段一个劲抓取我博客页面,后来遇到阿里云的,UCloud 的,每次我都去手动屏蔽,然后去填单子举报。
上 CF 会影响国内访问的体验,非必要还是不太推荐的。
92 天前
回复了 moudy 创建的主题 智能家电 tplink 路由器真的搞不了智能家居
用智能家居,不是得买个带蓝牙网关的最好嘛,不然家里那些温度计、灯泡之类的,都是要用蓝牙,你还得再买个蓝牙网关,岂不是有点麻烦……

然后 Home Assistant 也是占内存的,配置上最好 512MB 内存

选路由器推荐上这个网站(猫点饭),能看详细配置,不是广告: https://mao.fan/select
我之前在 OpenRouter 里充了 5 美元,然后自己部署了 NextChat 对话前端,没做加密,结果充的钱被人盗刷完了;估计有些 AI 中转也是这样的,利用爬虫扫描全网的没加密的 AI 前端,然后接上去,白嫖别人的 AI ,没有成本。
我倒是觉得有恐惧感也是很正常和很合理的,主要是插件这个东西完全看厂商脸色,没事改一改 API 都够你受的,当时 manifest v3 挂掉那么多插件,谁知道以后又出个 v4 挂掉多少插件。

做小工具之类的,或者不想深入了解的,建议直接做油猴插件,这个分发也简单不用去谷歌市场注册填一堆信息;非得做插件的话,还是建议用前面几楼提到的 WXT ,这玩意从 i18n 到 react/vue 集成,甚至 vite 打包都帮你考虑好了。
229 天前
回复了 balabalaguguji 创建的主题 Windows win11 右键好卡!
最近遇到个问题,Win11 在资源管理器里右键 “在终端中打开” 这个菜单项没有了,好像是某次系统更新后就这样了,有没有遇到的……现在好难受,我用 ContextMenuManager 看了下,居然显示这个菜单项还在,并处于开启状态,简直无语……
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     963 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 10ms UTC 20:03 PVG 04:03 LAX 13:03 JFK 16:03
Do have faith in what you're doing.
ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86