2017-02-09 12 views
2

私はコンストラクタでMoment.jsから日付を使用しようと、componentWillMount、またはcomponentDidMountに反応して機能ではありません、私はエラーを取得:キャッチされない例外TypeError:_moment2.default.dateアプリ

Uncaught TypeError: _moment2.default.date is not a function 

私はWebpackやnpm以外の特定のビルドツールを使用していません。ここに私の関連するコードは次のとおりです。コンポーネントがレンダリングされるときの瞬間が完全にロードされていない、またはそれが何か他のものであるため、

import React from 'react'; 
import Moment from 'moment'; 

export default class Date extends React.Component { 
    constructor() { 
    super(); 
    this.state = { day: '', 
        month: '', 
        year: '', 
        weekday: '' 
       }; 
    } 

    componentDidMount() { 
    this.setDate(); 
    } 

    setDate() { 
    this.state.day = Moment.date(); 
    this.state.month = Moment.format('MMM'); 
    this.state.year = Moment.year(); 
    this.state.weekday = Moment.format('dddd'); 
    } 

は、このですか?どうすればこの問題を解決できますか?

私はただrender()関数でMomentを呼び出すと、私はこのエラーを受け取りません。しかし、日付に基づいて他のアプリコンポーネントを更新できるように、状態情報が必要です。あなたが状態を設定している

答えて

2

ウェイは適切ではなく、このようにモーメントを使用:Moment().、これを試してみてください。

setDate() { 
     this.setState({ 
      day : Moment().date(), 
      month : Moment().format('MMM'), 
      year : Moment().year(), 
      weekday : Moment().format('dddd') 
     }); 
    } 
+0

いやはや。ありがとうございました。この答えで ':'の代わりに '='を使用しました。 :) –

関連する問題