UNPKG

fumadocs-core

Version:

The library for building a documentation website in any React.js framework

20 lines (18 loc) 459 B
// src/utils/use-on-change.ts import { useState } from "react"; function isDifferent(a, b) { if (Array.isArray(a) && Array.isArray(b)) { return b.length !== a.length || a.some((v, i) => isDifferent(v, b[i])); } return a !== b; } function useOnChange(value, onChange, isUpdated = isDifferent) { const [prev, setPrev] = useState(value); if (isUpdated(prev, value)) { onChange(value, prev); setPrev(value); } } export { useOnChange };