UNPKG

antd-mobile

Version:

<img src="https://gw.alipayobjects.com/mdn/rms_ee68a8/afts/img/A*hjjDS5Yy-ooAAAAAAAAAAAAAARQnAQ" alt="logo" width="100%" />

34 lines (27 loc) 728 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.usePropsValue = usePropsValue; var _react = require("react"); var _ahooks = require("ahooks"); function usePropsValue(options) { const { value, defaultValue, onChange } = options; const update = (0, _ahooks.useUpdate)(); const stateRef = (0, _react.useRef)(value !== undefined ? value : defaultValue); if (value !== undefined) { stateRef.current = value; } const setState = (0, _ahooks.useMemoizedFn)(v => { if (value === undefined) { stateRef.current = v; update(); } onChange === null || onChange === void 0 ? void 0 : onChange(v); }); return [stateRef.current, setState]; }