React 中日期方法的询问



当我编写以下代码时

    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 

在线,谢谢

这不是

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

如果您需要任何帮助,请告诉我。

最新更新