当我编写以下代码时
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/