2016-07-29 21 views
3

Moment.js猜測時區正在暫時加載UTC,然後切換到正確的時區。Moment.js猜想時區正在暫時加載不正確的時區

我已經縮小到似乎是webpack加載bundle.js文件之前moment.tz.guess()獲得正確的時區。

alt text

看看加載時間,看看bundle.js後的時區變化是如何完成加載。

任何想法如何解決這個問題?有點今天它:/

回答

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> 
    ) 
    } 
}