个人对于React Hooks的理解
共 1189字,需浏览 3分钟
·
2021-04-02 12:40
关注公众号 前端人,回复“加群”
添加无广告优质学习群
React组件可以分为 类组件
和 函数组件
。类组件
具有生命周期、状态,而函数组件
却没有。
在React 16.8 新出来的Hooks 可以让React函数组件具有状态,并且提供了类似componentDidMount
和 componentDidUpdate
等生命周期方法。
栗子🌰:
我们写一个函数组件,如果想要更新它的状态,在 React 16.8版本之前,就得重写成 类组件。
在 React 16.8 出来的Hooks 之后,这就变得简单多了。
使用新的 useState
hook 向普通函数组件添加状态。
const [clicked,useClicked] = useState(false);
// 分离出来写法
const arr = useState(false);
const clicked = arr[0];
const useClicked = arr[1];
Hooks 在16.8版本之后可以使用,它能让我们在不使用class就能使用state和其它的react的特性。
比如:之前我们想要用state必须先写一行:
class App extends React.Component{}
这样才能用state和setState,但是现在有了hooks,就不需要了。我们可以在普通函数组件里面使用hooks实现之前class里的state、生命周期等。
为什么要使用hooks呢?
因为setState。生命周期之类的函数其实是定义给组件的一些钩子函数,它们被耦合在了class里面,所以我们定义有状态组件和有生命周期的组件必须定义class。而hooks的出现,把这些功能性的钩子和class分离开了。
hooks包含 state hook 、effect hook、context hook等基础的hooks,还有一些自定义hooks和一些其他的钩子,可以再官方文档里面查看。
原文:https://blog.csdn.net/qq_39721418/article/details/104131413
最后
关注公众号,置顶公众号
,鬼哥
,一起前端进阶
公众号里回复关键词 资料包
领取我整理的进阶资料包公众号里回复关键词 加群
,加入前端进阶群喜欢的话文章点个 在看
,支持一下把!