usePrevious
一个用于保留状态上次一渲染的「不同的」值的 React Hook。
场景
- 记录上一状态: 用于记录状态的变化,以便在下一次渲染时进行相关操作。
- ...
演示
源码PrePrePreCount: undefined
 undefinedundefinedundefinedundefinedundefinedundefined  
用法
const prevState = usePrevious(state)
// 当 state 从 1 变为 2 时,prevState 的值为 1
源码
API
const previous = usePrevious(state, options)
状态 State
你希望保持前一个值的状态,可以是任意合法的 JavaScript 类型。
选项 Options
interface UsePreviousOptions {
  /**
   * 一个 `isEqual` 函数,用于比较前一个值和当前值是否相等,默认使用 `Object.is`。
   *
   * @param previous 前一个值。
   * @param current 当前值。
   * @returns 如果相等则返回 `true`,否则返回 `false`。
   * 
   * @defaultValue `Object.is`
   */
  isEqual?(previous: any, current: any): boolean
  /**
   * 是否深度比较。
   *
   * @defaultValue false
   */
  deep?: boolean
}
如果 deep 为 true,则会忽略自定义的 isEqual 函数,转而采用内置的深比较的策略。
返回值
状态上次一渲染时的不同值。