加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

【React深入】从Mixin到HOC再到Hook

发布时间:2019-04-12 03:57:26 所属栏目:建站 来源:ConardLi
导读:导读 前端成长速率很是之快,页面和组件变得越来越伟大,怎样更好的实近况态逻辑复用一向都是应用措施中重要的一部门,这直接相关着应用措施的质量以及维护的难易水平。 本文先容了React回收的三种实近况态逻辑复用的技能,并说明白他们的实现道理、行使方

留意,假如加上赏识器渲染的环境,功效应该是这样的:

  1. 页面渲染...1  
  2.  执行... 1  
  3.  页面渲染...2  
  4.  整理... 1  
  5.  执行... 2  
  6.  页面渲染...3  
  7.  整理... 2  
  8.  执行... 3  
  9.  页面渲染...4  
  10.  整理... 3  
  11.  执行... 4 

那么为什么在赏识器渲染完后,再执行整理的要领还能找到前次的state呢?缘故起因很简朴,我们在useEffect中返回的是一个函数,这形成了一个闭包,这能担保我们上一次执行函数存储的变量不被烧毁和污染。

你可以实行下面的代码也许更好领略 

  1. var flag = 1;  
  2.     var clean;  
  3.     function effect(flag) {  
  4.       return function () {  
  5.         console.log(flag);  
  6.       }  
  7.     }  
  8.     clean = effect(flag);  
  9.     flag = 2;  
  10.     clean();  
  11.     clean = effect(flag);  
  12.     flag = 3;  
  13.     clean();  
  14.     clean = effect(flag);  
  15.     // 执行功效  
  16.     effect... 1  
  17.     clean... 1  
  18.     effect... 2  
  19.     clean... 2  
  20.     effect... 3 

模仿componentDidMount

componentDidMount等价于useEffect的回调仅在页面初始化完成后执行一次,当useEffect的第二个参数传入一个空数组时可以实现这个结果。

  1. function useDidMount(callback) {  
  2.   useEffect(callback, []);  

官方不保举上面这种写法,由于这有也许导致一些错误。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读