Reactjs 功能组件或类组件

Reactjs 功能组件或类组件,reactjs,react-hooks,react-component,Reactjs,React Hooks,React Component,React 16.8之后,React挂钩在功能组件中为我们提供处理状态。现在推荐在React应用程序中使用哪个组件?对于挂钩,最好使用功能组件。这是他们在官方网页上提到的- 类混淆了人和机器 除了使代码重用和代码组织更加困难之外,我们还发现类可能是学习的一大障碍。您必须了解它在JavaScript中的工作原理,这与在大多数语言中的工作原理非常不同。您必须记住绑定事件处理程序。如果没有不稳定的语法建议,代码将非常冗长。人们可以很好地理解道具、状态和自上而下的数据流,但仍然难以理解类。React中函

React 16.8之后,React挂钩在功能组件中为我们提供处理状态。现在推荐在React应用程序中使用哪个组件?

对于挂钩,最好使用功能组件。这是他们在官方网页上提到的-

类混淆了人和机器 除了使代码重用和代码组织更加困难之外,我们还发现类可能是学习的一大障碍。您必须了解它在JavaScript中的工作原理,这与在大多数语言中的工作原理非常不同。您必须记住绑定事件处理程序。如果没有不稳定的语法建议,代码将非常冗长。人们可以很好地理解道具、状态和自上而下的数据流,但仍然难以理解类。React中函数和类组件之间的区别以及何时使用每一个组件都会导致分歧,即使在经验丰富的React开发人员之间也是如此

此外,React已经推出五年了,我们希望 确保它在未来五年内保持相关性。苗条的, 角度,微光,和其他显示,提前编译 组件具有很大的未来潜力。特别是如果不是的话 仅限于模板。最近,我们一直在试验 使用Prepack进行组件折叠,我们已经看到了早期的前景 后果然而,我们发现类组件可以鼓励 使这些优化倒退到错误的非故意模式 慢一点。课程也为今天的工具提供了问题。对于 例如,类不能很好地缩小,它们会进行热重新加载 脆弱的和不可靠的。我们希望提供一个API,使其更加 代码可能停留在可优化的路径上

为了解决这些问题,挂钩允许您使用React的更多功能 没有课。从概念上讲,React组件一直是 更接近功能。钩子包含函数,但不牺牲 公司的务实精神。钩子提供了对命令的访问 逃生舱口,无需学习复杂的功能或 反应式编程技术


要了解更多信息-

使用钩子,所有组件都是功能组件,但有相似之处。比如,

如果您使用的是useEffect钩子,它就像一个生命周期方法,您可以监听道具的变化并相应地触发一些函数。但它仍然是一个功能组件,它不扩展类React.component

若您使用的是useState钩子,那个么您在组件中持有一个状态,但它同样是一个不扩展类React.component的功能组件

如果您没有使用挂钩,即只是获取道具并显示相关数据,那么它也是一个功能组件,您只是没有使用任何挂钩


这取决于你,我会做对你的团队最有利的事情。我的团队习惯于面向对象的语言,如java和c,因此我们坚持使用类,因为它们对于javascript新手来说更容易理解

,因此无需通过切换到函数对代码进行未来验证

丹·阿布拉莫夫的推特=