2017-02-08 153 views
0

當我寫了下面的代碼在陣營

import React,{Component} from 'react'; 
    import ReactDOM from 'react-dom'; 
    import './index.css'; 
    class Date extends React.Component{ 
     dataToString = (d) =>{ 
     return [ 
     d.getFullYear(), 
     d.getMonth + 1, 
     d.getDate() 
     ].join('-') 
    } 

錯誤,如下圖所示,該日期的方法問謝謝大家。

Uncaught TypeError: d.getFullYear is not a function 
at Date._this.dataToString (index.js:10) 
at Date.render (index.js:18) 
at ReactCompositeComponent.js:796 
at measureLifeCyclePerf (ReactCompositeComponent.js:75) 
at 

在線,謝謝

回答

1

這不是正確的方式寫作React Component

問題是:每當我們使用任何React.Component,我們必須定義一個render方法。那就是componentstarting點,這意味着這是React開始UI creation的地方,並且您沒有定義render方法。

如果你只想寫一個只包含一些generic methods一個文件,這樣創建:

module.exports{ 

    dataToString : function(d){ 
     return [ 
     d.getFullYear(), 
     d.getMonth() + 1, 
     d.getDate() 
     ].join('-'); 
    }, 

    dateOnly: function(d){ 
     /*write your logic here*/ 
     return d; 
    }  

} 

您可以隨時隨地importing在項目中使用這些方法,此文件。

或者,如果你想將它寫這樣它作爲一個component,然後定義render方法,也就像這樣:

class DateClass extends React.Component{ 
     dataToString(d) { 
      return [ 
       d.getFullYear(), 
       d.getMonth() + 1, 
       d.getDate() 
      ].join('-') 
     } 

     render(){ 
      return <div>{this.dataToString(new Date())}</div> 
     } 
} 

讓我知道如果你需要任何幫助。

+0

非常感謝,我的錯誤ID日期,我應該用戶DateClass
class DateClass extends React.Component { – suwu150