React Hooks相关

一、React在16.8推出了Hooks特性,React Native是在0.59版本开始支持,官方解释了推出Hooks的原因(官方文档):

1、组件间状态逻辑难以复用。之前通常使用高阶组件来解决这种问题,但是这种方式通常需要改变你的组件结构,并且会导致组件嵌套地狱,导致代码难以追踪。使用Hooks可以从组件中抽取状态逻辑,可以单独测试,也可以复用。Hooks可以让你在不改变组件结构的情况下实现状态逻辑复用( Hooks allow you to reuse stateful logic without changing your component hierarchy)。

2、复杂组件难以理解。一些组件随着业务迭代会添加越来越多的状态逻辑,在生命周期方法中通常包含一堆不相干的逻辑,这样的话很容易引入bug。很多状态逻辑都跟声明周期相关,所以这些代码也不好拆分。Hooks允许根据功能把一个组件拆分为更小的函数,而不用被迫去拆分生命周期函数。

3、不用再考虑this的指向问题。因为在js中this的使用与其他语言不同,这会提高使用react的学习成本,并且容易出错。而使用Hooks可以不依赖class使用React的特性。

二、当然使用Hooks也有一些缺点:

1、闭包陷阱,可以参考以下文章:闭包陷阱 ,主要是一些异步回调中拿到的state值通常不是最新值,通常需要使用useRef来解决。

三、实现原理:TODO

参考文档:https://segmentfault.com/a/1190000038431635

https://segmentfault.com/a/1190000039171753?utm_source=sf-similar-article

谈谈react hooks的优缺点 - 知乎

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值