React - 偏好:函数组件与类组件

IT技术 reactjs react-native react-navigation
2021-04-18 06:32:39

是否放弃了类组件?

我看到在几个库示例中,函数组件是优先考虑的。

尤其是 React 导航。

同样,带有 Hooks 的 React 本身只使它们可用于函数组件。

主要问题是:为什么功能组件如此重要?

3个回答

不,我认为今天不会放弃类组件。也许在未来。

它们不像功能组件那样轻量级,但我在社区上看到了很多使用类组件的项目。

但是,我们有一些社区支持该Functional Components方法的原因:

  • 类组件需要更多代码,但也会给你带来一些好处,稍后你会看到(Babel 转译的代码也会更大)
  • 函数式组件只是一个普通的 JavaScript 函数,它接受 props 作为参数并返回一个 React 元素。
  • 函数式组件更易于阅读和测试,因为它们是纯 JavaScript 函数(代码更少)。
  • React 团队提到在未来的 React 版本中可能会有功能组件的性能提升

看到这个答案:https : //stackoverflow.com/a/49613435/4119452

更多信息:https : //www.twilio.com/blog/react-choose-functional-components

减去 1 用于放置需要拥有 Medium 帐户才能获取信息的中等链接。
2021-06-02 06:32:39
谢谢,让我收回自己
2021-06-14 06:32:39
@me_digvijay 我刚刚从媒体中删除了链接,并从另一个来源发表了一篇很棒的文章。谢谢关注!
2021-06-18 06:32:39

现在,类组件和功能组件几乎相同。在函数式组件中,之前没有引入 Hooks,为了等效于类组件,函数式组件获得了新的钩子,如 useState、useRef、useMemo,它们等效于 this.state、React.createRef 和 PureComponent。

此外,类组件上的 componentDidUpdate 可以用于功能组件上的 useEffect。

更多细节请查看 ReactReact JS 中的Functional Components vs Class Components —Understanding Functional & Class Components

Hooks-first 方法 [2020 年更新]

React 团队目前正在使用 Hooks-first 方法重新构建文档,这应该是所有新功能和应用程序的首选:

将来,类组件是否有可能被弃用?

类组件将在未来几年内出现——例如,Facebook 已经有数以万计的产品在生产。但是,我们确实建议使用功能组件和 Hooks 构建新应用程序,这就是我们希望这些文档位于前端和中心的原因。

https://github.com/reactjs/reactjs.org/issues/3308