专栏名称: 前端微志
围绕前端,以JavaScript为基础的技术为主,也会涉及到一些后端技术。 会定期推送高级和资深工程师的原创文章和技术翻译文章等。
目录
相关文章推荐
前端大全  ·  AI 正在培养一代 “文盲程序员” ·  2 天前  
广东攻城狮户外  ·  DeepSeek加持下,中国十杰碾压美股七雄? ·  昨天  
广东攻城狮户外  ·  DeepSeek加持下,中国十杰碾压美股七雄? ·  昨天  
龙视新闻联播  ·  龙江最美飘雪时|早春升温日 赏冰乐雪时 ·  2 天前  
宝山消防支队  ·  以案为例 |《油锅起火怎么办?》 ·  2 天前  
前端早读课  ·  【第3459期】两款 AI 编程助手 ... ·  3 天前  
51好读  ›  专栏  ›  前端微志

#3 「TinyShare」React.memo() 控制函数式组件的render过程;React Hooks介绍;

前端微志  · 公众号  · 前端  · 2018-10-30 13:30

正文

TinyShare 是一个英文前端技术文章分享博客网站: 1.推荐的文章,都是我(目前是我一个人)自己仔细阅读过,从中挑选出的优秀的前端相关的文章,绝不为了应付而胡乱推荐; 2.网站会尽量简洁,更多地专注于内容。推荐的文章中,很多都是英文文章,我没有精力每天都去翻译这些文章(我每天也有很多工作要做),所以建议大家直接阅读英文文章,也是一种锻炼。 3.每次推送五篇文章,不多也不少,坚持每天推送。 4.点击文末左下角“ 查看原文 ”,查看分享的文章原文。 5.更多分享,欢迎访问: https://tinyshare.cn

·  ·  ·

React 16.6 通过 React.memo() 来控制函数式组件的render过程


如果你用过PureComponent,那你应该了解,只有当组件的props发生变化,该PureComponent才会重新render。




在React 16.6中,新增了一个特性:React.memo()。它的作用跟PureComponent的效果一样,只不过PureComponent是针对class语法的组件,而React.memo()是针对functional语法的组件。


作者通过简单的示例介绍如何使用React.memo()来快速写props响应的函数式组件。希望这篇文章能给你启发,让你可以很好地使用React.memo()。



·  ·  ·

React Hooks介绍


React 16.7版本中新增了Hooks特性,这个特性可以让你不用创建一个class组件,就可以使用state特性(使用useState这个State Hook)。


什么是Hook?

Hooks是一些函数,这些函数可以让你在 函数式组件 内的React state和生命周期特性中放置钩子。它有两个严格的规则:

  • Hooks只在最高层级执行,不要在循环、条件判断和嵌套函数里执行;

  • Hooks只在React的函数式组件内执行,不要在常规的JavaScript函数里执行。


React内置了一些Hooks,比如 useState 。开发者也可以自定义一些可复用的state化的操作,在不同组件内使用。


文中介绍了React的另一个内置Hook: Effect Hock 。这个Hook通过useEffect来调用,它是用来在函数式组件内扮演着class组件内componentDidMount、componentDidUpdate和componentWillUnmount三合一的函数。它的使用方法是,useEffect函数体内的代码(除返回值)会在componentDidMount和componentDidUpdate时被执行,而返回值(是一个函数)会在componentWillUnmount时被执行。




与以往的生命周期函数不同的是,Hooks可以在函数式组件内被多次使用。


文中还介绍了如何自定义一个Hook,用来在多个组件内使用,希望这篇文章能给你启发,更好地使用React即将正式发布的Hooks新特性。

·  ·  ·

从ES6开始,JavaScript对象的属性的顺序变的可预测


很多开发者可能都不会注意一个问题,你定义一个JavaScript对象的多个属性,这些属性显示的顺序是什么样的?可能你第一反应会觉得这个顺序是无法预测的,但其实EcmaScript标准里对这个有做说明(各个浏览器的实现可能会有差别),属性的排序取决于这个属性的类型和属性的值。


在标准里,从ES6开始,属性的顺序是基于一个特殊的规则的,除非特指按照时间排序。作者通过两个新方法Object.getOwnPropertyNames和Reflect.ownKeys来编写示例讲解这一属性排序规则。

  • 数字。当属性的类型时数字类型时,会按照数字的从大到小的顺序进行排序;

  • 字符串。当属性的类型是字符串时,会按照时间的先后顺序进行排序;

  • Symbol。当属性的类型是Symbol时,会按照时间的先后顺序进行排序。



·  ·  ·







请到「今天看啥」查看全文