美文网首页
React Hooks (一)

React Hooks (一)

作者: bowen_wu | 来源:发表于2020-10-09 09:52 被阅读0次

特性

  1. 多个状态不会产生嵌套,写法还是平铺的
  2. 允许函数组件使用 state 和部分生命周期
  3. 更容易将组件的 UI 与状态分离

Function state 与 Class state 区别

  1. Function state 的粒度更细,Class state 过于无脑
  2. Function state 保存的是快照,Class state 保存的是最新值
  3. 引用类型的情况下,Class state 不需要传入新的引用,而 Function state 必须保证是个新的引用

快照(闭包) VS 最新值(引用)

class component 可以通过 this.state 引用到最新的 state,在 function component 里面取 state 是通过闭包获取的

useRef

useRef 是一个对象,它拥有一个 current 属性,并且不管函数组件执行了多少次,而 useRef 返回的对象永远都是原来的那一个。特点:

  • useRef 是一个只能用于函数组件的方法
  • useRef 是除字符串 red、函数 refcreateRef 之外的第四种获取 ref 的方法
  • useRef 在渲染周期内永远不会改变,因此可以用来引用某些数据
  • 修改 ref.current 不会引发组件重新渲染

useRef VS createRef

  • 两者都是获取 ref 的方式,都有一个 current 属性
  • useRef 只能用于函数组件,createRef 可以用在类组件中
  • useRef 在每次重新渲染后都保持不变,而 createRef 每次都会发生变化

useEffect

常常用于一些副作用的操作

useMemo

常常用于缓存一些复杂计算的结果

useCallback

常常用来缓存函数

匿名函数导致不必要的渲染

匿名函数在每一次组件重新渲染的时候都会生成一个重复的匿名箭头函数,导致传给组件的参数发生了改变,对性能造成一定的损耗。可以使用 useCallback 指定依赖项,在无关更新之后,通过 useCallback 取的还是上一次缓存起来的函数

相关文章

  • react-hooks

    前置 学习面试视频 总结react hooks react-hooks react-hooks为函数组件提供了一些...

  • React Hooks

    React Hooks Hooks其实就是有状态的函数式组件。 React Hooks让React的成本降低了很多...

  • React Hooks

    前言 React Conf 2018 上 React 提出了关于 React Hooks 的提案,Hooks 作为...

  • react-native hooks

    react-native v0.59.0-rc.3增加React Hooks特性 react hooks 是一个已...

  • 5分钟简单了解React-Hooks

    首先附上官网正文?:React Hooks Hooks are a new addition in React 1...

  • react-hooks

    react-hooks react-hooks 是react16.8以后,react新增的钩子API,目的是增加代...

  • React-hooks API介绍

    react-hooks HOOKS hooks概念在React Conf 2018被提出来,并将在未来的版本中被...

  • React Hooks 入门

    React Hooks 是 React v16.8 版本引入了全新的 API。 React Hooks 基本概念 ...

  • react hooks 源码分析 --- useState

    1. react hooks简介 react hooks 是react 16.8.0 的新增特性,它可以让你在不编...

  • React Hooks的入门简介

    什么是React Hooks? 首先React Hooks是React生态圈里的新特性,它改变了传统react的开...

网友评论

      本文标题:React Hooks (一)

      本文链接:https://www.haomeiwen.com/subject/dfzkpktx.html