[Day10] [笔记]React Hooks-useMemo、useCallback

前言

我们昨天介绍了 Hooks 中比较常用的 UseStateUseEffect,那我们今天继续接着介绍另外一种类型的 Hooks - Memorized Hook

Memorized Hook

适用时机:

  • 不需要常常被 render 的元件或 Function
  • 执行速度慢的 Function

useMemo

两个参数,第一个接函式、第二个接 Dependency [],如果没有给依赖阵列每次都会重新 Render

会 Return 一个 memorized value

const Demo = () => {
    const [number, setnumber] = useState(0);
    // 两个参数,第一个接函式、第二个接 Dependency [],如果没有给依赖阵列每次都会重新 Render
    // 当第二个依赖阵列改变时, useMemo 才会重新 Render
    useMemo(() => { spendLongTimeFunction(number);}, [number])
}

useCallback

两个参数,第一个接函式、第二个接 Dependency [],如果没有给依赖阵列每次都会重新 Render

const Demo = () => {
    // useCallback 跟 useMemo差异在於可以 
    // useCallback 互叫时可以带参数如: callback(add),其回传是整个函式 
    // useMemo 回传是函式的值
    const callback = useCallback((add) => {
        spendLongTimeFunction(number+ add);
    },[number])
}

参考资料


<<:  创建App-学生版界面(1.课程资料界面)

>>:  【Day 10】Google Apps Script - 环境篇回顾整理

[第24天]理财达人Mx. Ada-RSI指标

前言 本文说明RSI指标。 RSI指标 RSI(Relative Strength Index):相...

Day5 - activity_main.xml 、MainActivity.java

第一次开启专案後 对程序的任何东西都很陌生 映入眼帘的是MainActivity.java的程序码 ...

视觉设计(2)

来轻松聊聊 今天将接续前篇的内容,分享许多排版时常用的效果。 不透明度 opacity属性可以决定元...

Day 21 Flask Blueprint

前面说那麽多次以後会遇到大型专案会怎样怎样的,所以现在就要来说一下大型专案长怎样,如何将大型专案拆解...

How to convert RAW to NTFS file system without losing data?

What should you do if the partition on your extern...