我正在进入React,我无法找到,我们应该如何定义React组件。React的两种方式组件定义差异
我们应该使用ES6类定义,就像下面:
import React from 'react'
import PropTypes from 'prop-types'
class DateFormatter extends React.Component {
constructor (props) {
super(props)
this.date = props.date
}
render() {
return (<h2>It is {this.date.toLocaleTimeString()}.</h2>
)
}
}
DateFormatter.propTypes = {
date: PropTypes.object
}
export default DateFormatter
或做类似以下:
export const DateFormatter = ({ date }) => (
<div>
<h2>It is {date.toLocaleTimeString()}</h2>
</div>
)
DateFormatter.propTypes = {
date: PropTypes.object
};
export default DateFormatter
这两种方法上面介绍是否工作正常,但我不能有什么主要区别(除了语义)?我知道在第二种情况下,我们创建了不可变的组件,因为它被定义为“const”。
是的,非常感谢! –