javascript - React中Date方法的ask

标签 javascript reactjs

当我编写以下代码时

    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 组件 的正确方法。

问题是:每当我们使用任何 React.Component 时,我们都必须定义一个 render 方法。这是该组件起始点,意味着这是React开始UI创建的地方,并且您没有定义渲染方法。

如果您只想编写一个仅包含一些通用方法的文件,请按如下方式创建:

module.exports{

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

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

}

您可以通过在项目中的任何位置导入此文件来使用这些方法。

或者,如果您想将其编写为组件,则也定义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>
         }
 }

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

关于javascript - React中Date方法的ask,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42106184/

相关文章:

reactjs - 调度不改变 redux 状态

javascript - 从父组件调用子组件函数时,React Material-UI 抽屉不工作

javascript - Chrome devtools 显示未定义,但值在飞出时存在

javascript - 即使返回 false 也不会显示警告框

javascript - 我只想在下面的 div 中设置第一行的样式,而不使用内部 div 和 span

javascript - 如何更改对话框组件中的默认动画?

javascript - 在react.js中渲染时如何移除树的根

javascript - 在 JavaScript 中使用键向对象添加属性

javascript - 有人可以解释一下这个脚本的作用吗?

node.js - facebook库的keyMirror Node 包部分有什么用?