繁体   English   中英

class 组件在 React 中存在带 hooks 的函数式组件时是否还要使用?

[英]Should class components still be used when functional components with hooks exist in React?

嗨,我是 React 的新手。 我在过去 2 周内开始学习 React,目前我正在与朋友一起使用 MERN 堆栈制作网站。 每当我看到需要维护状态时,我就一直在使用 class 组件,但我刚刚发现钩子可以模仿 React 类,并且据称可以减少代码长度,提高可读性,并创建更易于维护的代码。 所以我只是想知道,到 2020 年,当挂钩存在时,是否应该在 React 中使用 class 个组件? 类涵盖哪些功能组件未涵盖的用例?

挂钩旨在完全替代 class 组件。 反应文档

我们打算让 Hooks 涵盖类的所有现有用例,但在可预见的未来,我们将继续支持 class 个组件。

阅读上面链接的关于采用策略的页面,钩子背后的意图 - 将是理解和形成意见的好地方。

就个人而言,我喜欢钩子。 自从引入 hooks 以来,还没有使用过 class 个组件。 我还没有找到我需要使用 class 组件的用例,因为挂钩无法满足要求。

这是偏好的事情,但社区正在转向钩子。 Hooks + 其他功能几乎可以涵盖所有在 Hooks 中完成的事情

例如

useEffect => componentDidMount, componentDidUpdate, componentWillMount

useState => this.setState({})

React.memo => shouldComponentUpdate

目前,有些事情在课堂上比在钩子上更容易。 就像setState中的第二个参数是一个回调,以确保在执行之前更改 state。 这在钩子中是可能的,但它并不那么干净

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM