React学习 Hooks的使用(一)

React框架中最大的亮点就是Hooks,它使得我们更容易的复用代码,大大减少了重复编写代码。不需要像类组件那样写props来获得状态,也不需要有那么多的this指向来扰乱我们。

那hooks是什么呢?
hook就是JavaScript函数,它可以帮助我们钩入 React State以及生命周期等特性;
使用hooks的规则:
只能在函数最外层调用。不要在循环、条件判断或子函数中调用。
只能在React的函数组件中调用,不要在其他JavaScript函数中调用。

Hooks初体验:
接下来就用react包中的useState这个hook来作为初体验对象。

useState:本身是一个函数,需要从react包中导入才能使用。

我们可以给它传入一个参数,这个参数就是给创建出来的状态一个默认值。
并且这个函数返回的是一个数组,我们可以定义一个arr来接收它。
在这里插入图片描述

返回值的第一个元素就是当前state的值,用来保存我们的状态。
第二个元素是一个函数,用来修改我们的状态,我们可以在需要的地方调用它修改状态。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
这就是useState的简单使用了。

当要使用的状态是复杂数据类型时,想要改变某类属性的状态时我们又要怎么使用useState呢?

先定义一个复杂数据
在这里插入图片描述

再使用map函数遍历这个数据将数据渲染出来
在这里插入图片描述

通过遍历传入的index来找到我们要修改的那一条数据。首先要将原来的数据拷贝给一个新的数组,再通过这个新数组进行年龄+1的操作,最后调用setStudents函数,将新数组传入,如此就能单独改变每一条数据里的年龄。

在这里插入图片描述

Effect Hook

Effect Hook可以让我们完成一些类似class中生命周期的功能。
在react中,不管是第一次渲染还是发生更新是渲染都会调用useEffect这个hook,在组件中模拟订阅事件的例子。

在父组件中操作子组件进行显示和隐藏,模拟事件订阅与取消。
在这里插入图片描述

useEffect中可以传入两个参数:
第一个参数是一个回调函数,也就是我们希望做的一些网络请求啊或者事件订阅等都在这里进行相当于componentDidMount,这个函数还可以返回一个函数,当组件销毁或者更新时,需要取消订阅或者停止发送网络请求时就可以在这里进行,相当于componentDidUpdate。
在这里插入图片描述
第二个参数是一个数组类型的可选参数,如果不传入这个参数的话,那么当组件发生更新时,所有useEffect这个hook里的操作都将重新调用一次,如果我们不想让他多次调用,那么我们就可以给它传入一个空数组。这样页面发生更像时,就不会再调用这个hook里的函数了。
在这里插入图片描述
如果我们想让它依赖某个值进行调用,那我们只需要将这个值放到数组中即可,这里只要counter值发生改变,就会调用useEffect
在这里插入图片描述


useContext:

父组件中
共享数据时用,让共享数据更加

子组件中
在这里插入图片描述
拿到数据
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值