UNPKG

rc-hooks

Version:
27 lines (26 loc) 847 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var react_1 = require("react"); var useMountedRef_1 = tslib_1.__importDefault(require("../useMountedRef")); /** * 返回上一次的 state 或 props 。 * * @param state 需要记录变化的值。 * @returns 上一次记录的值。 * @example * const [value, setValue] = useState(''); * // 上一次 state 的值。 * const prevValue = usePrevious(value); */ function usePrevious(state) { var mountedRef = (0, useMountedRef_1.default)(); var prevRef = (0, react_1.useRef)(); var curRef = (0, react_1.useRef)(state); if (mountedRef.current && curRef.current !== state) { prevRef.current = curRef.current; curRef.current = state; } return prevRef.current; } exports.default = usePrevious;