【发布时间】:2017-10-28 22:43:45
【问题描述】:
我正在研究 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”。
【问题讨论】:
标签: reactjs ecmascript-6 components