【发布时间】:2020-09-03 05:18:52
【问题描述】:
我正在尝试学习 React,我注意到当我使用 npx create-react-app my-project 时,它创建了 App.js 文件作为功能组件,而不是像在过去版本中那样的类组件。我在 create-react-app 的 repo 中找到了 thiscommit,他们在其中更改了它。
我想弄清楚的是,他们为什么这样做?我阅读了this 关于类组件与功能组件的文章,据我所知,功能组件是无状态的。我一定是误会了,或者可能只是还没有完全了解这方面的知识,因为我不明白为什么我们会希望整个应用程序的主要组件是无状态的?
附:我知道App.js 文件可以很容易地返回 更改为类组件,但我想了解他们为什么会将其更改为默认为功能组件。
【问题讨论】:
-
我认为:也许它适合新手,尽早开始使用最新的功能“钩子”。因此将 App.js 更改为功能组件是有意义的
-
基于类的组件也可以是无状态的。 FB 推送功能组件和状态钩子,因为在他们看来(我同意)它会导致代码更干净、错误更少。 (尽管 React 钩子和依赖项给新手开发者带来了全新的困惑)。
标签: javascript reactjs create-react-app