当我编写以下代码时
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
方法。这是该component
的starting
点,意味着这是 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>
}
}
如果您需要任何帮助,请告诉我。