В React мы можем использовать 3 разных способа создания компонента.
1.const App =()=>{...}
const App = React.createClass({...})3.class App extends React.Component{...}
Какое лучшее решение для определения компонента?
Это может дать вам дополнительную информацию andreasreiterer.at/react-functional-components
У каждого способа есть свой сценарий использования, нет "лучшего"
Как правило, № 1 - функциональный компонент, используется для менее сложных компонентов, которые не делают ничего, кроме обработчиков событий рендеринга и запуска, передаваемых им как props. Нет экземпляра. Таким образом, они не могут иметь refs и не иметь жизненного цикла компонентов, как это делают №2 и №3. # 2 - это своего рода олдскульный способ создания полностью инстанцированного класса Component. №3 - это то, что вы видите, что в последнее время люди все чаще используют Но в разной одежде они в основном одно и то же. №1 действительно отличается. Что лучше? - Да, это мнение.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Это зависит от варианта использования и предпочтений. См. https://reactjs.org/docs/components-and-props.html#functional-and-class-components, чтобы узнать, почему вам нужно 1 вместо 3 или иначе.
Это зависит от того, что вы собираетесь делать со своим компонентом.
Если вам нужны состояния в ваших компонентах, используйте class App extends React.Component{...}
Если вам нужны компоненты без состояния, просто работайте с некоторыми реквизитами и возвращайте JSX, чем используйте const App =()=>{...}.
Использование компонентов без состояния считается хорошей практикой.
Добро пожаловать в StackOverflow Reza! Этот вопрос в первую очередь основан на мнении, поэтому он не подходит для этого форума. Пожалуйста, прочтите Какие темы я могу задать здесь?.