React-Preference:函数类与组件类

问题描述 投票:-1回答:2

是否放弃了类组件?

[我看到在几个库中,示例优先考虑功能组件。

特别是React导航。

同样,React本身与Hooks仅使它们可用于功能组件。

主要问题是:为什么要优先考虑功能组件?

reactjs react-native react-navigation
2个回答
0
投票

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

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

但是,这里有一些为什么社区支持Functional Components方法的原因:

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

查看此答案:https://stackoverflow.com/a/49613435/4119452

更多:https://medium.com/@Zwenza/functional-vs-class-components-in-react-231e3fbd7108


0
投票

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

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

更多详细信息,请检查Functional Components vs Class Components in ReactReact JS — Understanding Functional & Class Components

© www.soinside.com 2019 - 2024. All rights reserved.