Я совершенно новый, чтобы реагировать и много читал об этом. Я пришел через три различных методов для создания компонентов:При создании компонентов React следует использовать функциональные компоненты, React.createClass или расширять React.Component?
Функциональные компоненты:
const Hello = ({world}) => {
return (
<div>{"Hello" + world}</div>
);
}
React.createClass (Factory):
const Hello = React.createClass({
render: function() {
return <div>{"Hello" + this.props.world}</div>
}
});
ES6 Класс Расширяет
class Hello extends React.Component {
render() {
return (
<div>{"Hello" + this.props.world}</div>
);
}
}
Помимо очевидного, что функциональные компоненты не имеют никакого состояния, связанного с ним, и, вероятно, это более функциональный подход к выполнению компонентов, почему я должен использовать разные методы?
В документации по реагенту используются все три метода. Некоторые из статей Stack Overflow предлагают метод класса, а затем некоторые предлагают метод Factory.
Но Facebook также рекомендует использовать [функциональный] (https://facebook.github.io/react/blog/2015/12/18/react-components -элементы-и-экземпляры.html # components-can-be-classes-or-functions) – worker11811
Они рекомендуют использовать _функциональные компоненты stateless_ для тех компонентов, в которых вам не нужно сохранять состояние и не нужны методы жизненного цикла (onComponentDidMount, shouldComponentUpdate и т. д.) – Dymos
I предположим, что это [ссылка] (https://facebook.github.io/react/docs/reusable-components.html#stateless-functions) объясняет это. Используйте функциональные компоненты как можно дальше (в будущем будут оптимизированы рабочие характеристики). Это рекомендуется. Если в компоненте используются синтаксис класса ES6, то в качестве локального состояния или привязки жизненного цикла необходимо использовать синтаксис класса ES6. – worker11811