我正在用React构建一个网站,最近切换到使用服务器端渲染(SSR)来提高性能。我在此更改后遇到的一个问题是,当我格式化页面上的时间时(我使用的是Moment.js),它使用服务器的时区不能正确地呈现。
如何使用客户端的时区格式化时间?我是否需要在服务器响应时停止计时,然后让客户端进行渲染?
发布于 2018-06-16 08:24:32
具体地说,我没有用React做到这一点,但是一般的方法是用包含时区的完整日期/时间格式呈现一个<time>
元素(documentation here),然后在客户端调整文本输出。
当您在客户端恢复状态时,这应该是相当简单的;如果您呈现服务器端每个请求的timezone,react-moment
也接受…
发布于 2019-09-18 22:57:12
我也有同样的问题。
您可以尝试的一件事是将cookie客户端的时区设置为值。
客户端的第一次访问总是一个问题,所以要准备好使用默认时区或延迟呈现(通过didMount事件)。
但是,一旦客户端返回所述cookie,您就可以使用该cookie值作为日期和时间字符串呈现的时区。
还没有试过,如果我成功了,我会考虑更新那篇文章
https://stackoverflow.com/questions/50883916
复制相似问题