Moment.js 猜测时区暂时加载不正确的时区

Moment.js guess timezone is temporarily loading incorrect timezone

Moment.js 猜测时区暂时加载 UTC 然后切换到正确的时区。

我已经将范围缩小到似乎是 webpack 在 moment.tz.guess() 获得正确的时区之前先加载 bundle.js 文件。

查看加载时间,查看 bundle.js 加载完成后时区如何变化。

有什么解决办法吗?今天有点不开心了:/

我找到了! :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>
    )
  }
}