Moment.js猜测时区暂时加载UTC然后切换到正确的时区。
我已将其缩小到似乎是webpack在bundle.js
获取正确时区之前首先加载moment.tz.guess()
文件。
查看加载时间,看看bundle.js
完成加载后时区的变化情况。
任何想法如何解决这个问题?今天就出来了:/
答案 0 :(得分:1)
我找到了! :d
所以基本上因为我们正在使用HMR进行服务器和客户端呈现,问题是它在服务器上加载UTC
,然后将其作为UTC
发送出去被客户端用正确的时区覆盖。我所要做的就是这样。
const __CLIENT__ = !!global.window
export class Something extends Component {
state = {
timezone: /\(([^)]+)\)/.exec(new Date())[1]
}
render () {
return (
<div>
{__CLIENT__ && <div>{`Times are being displayed in ${timezone} time.`}</div>
</div>
)
}
}