Skip to content

usePrevious ​

usePrevious は、渡された状態の前の値を返す React フックです。 状態が変わらずに再レンダリングされた場合、前の値をそのまま保持します。 状態がオブジェクトの場合や、変更の検出方法をカスタマイズしたい場合は、compare 関数を指定できます。 デフォルトでは、prev === next を使って状態の変化を検出します。

インターフェース ​

ts
function usePrevious<T>(state: T, compare?: (prev: T, next: T) => boolean): T;

パラメータ ​

  • staterequired · T

    前の値を追跡する状態。

  • compare(prev: T, next: T) => boolean

    状態が変わったかを判定する省略可能な比較関数。

戻り値 ​

  • T

    状態の前の値。

使用例 ​

tsx
const [count, setCount] = useState(0);
// previousCount の初期値は `0`
const previousCount = usePrevious(count);

MIT ライセンスの下で配布されています。