新项目想尽可能 ssr,结果在时区处理上翻车了

25次阅读

共计 349 个字符,预计需要花费 1 分钟才能阅读完成。

服务器和 db 都是 utc,先是统一了客户端提交的时间数据,都统一用 timestamp,又处理了服务器和客户端渲染不一致导致的 hydration 错误。

首屏上需要显示最近一周的统计数据,可是“最近一周”是跟用户时区相关的概念,没办法在 RSC 里预先获取数据,于是翻车了。
项目开始的时候我宣传了半天 RSC 的优势,有点骑虎难下,而且 RSC 和 server action 用上后开发和用户体验都好了不少。首屏实在不想退回到 useEffect。

现在能想到的一个办法是在 middleware 里返回给用户一个脚本,把 timezone 写到 cookie 里,再重定向到首页,之后按照 cookie 做 ssr。

本来信心满满的用上 next14,server action 把 API 都淘汰掉,还挺得意的。这样一个平常的问题搞了我 2 天,郁闷死了。

正文完
 0