Реагировать 0.14 введены чистые функции в качестве компонентов, как это:Функциональный компонент реагирует против React.Component при использовании propTypes
export const Label = ({title} => (
<span>{label}</span>
)
Однако, я также хочу, чтобы описать пользователю компонент, свойства и типы Компонент поддерживает и которые являются значениями по умолчанию.
Так что я должен добавить
Label.propTypes = {
title: React.PropTypes.string.isRequired
}
Label.defaultProps = {
title: "unknown"
}
Я мог бы также просто использовать React.Component
так:
class Label extends React.Component {
static propTypes = {}
static defaultProps = {
title: "unknown"
}
render() {
<span>{this.props.label}</span>
}
}
Все было бы сразу видно, и компонент понятно.
Почему мы должны использовать функциональные компоненты?
В частности, были оптимизированы шаги по оптимизации (размер кода и ускорение во время выполнения) и более чистый код (без магии React). – philk