UNPKG

fumadocs-core

Version:

The React.js library for building a documentation website

23 lines (21 loc) 654 B
import { useState } from "react"; //#region src/utils/use-on-change.ts 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; } /** * @param value - state to watch * @param onChange - when the state changed * @param isUpdated - a function that determines if the state is updated */ function useOnChange(value, onChange, isUpdated = isDifferent) { const [prev, setPrev] = useState(value); if (isUpdated(prev, value)) { onChange(value, prev); setPrev(value); } } //#endregion export { useOnChange }; //# sourceMappingURL=use-on-change.js.map