Files
NapCatQQ/.pnpm-store/v3/files/75/84f187ecef388fce40cc6f97c8ad96f1c2e10408ef071337e8cd0f5fcfa41626f861f4b4008e87128351cf85e407892c1c7a5bb1f64991ed41c683db799468
T
TanTan e311ca3275
Build NapCat Artifacts / Type Check & Test (push) Waiting to run
docs: 仓库链接指向本镜像仓库
2026-11-13 09:25:58 +08:00

27 lines
944 B
Plaintext

import { __read } from "tslib";
import { useCallback, useState } from 'react';
import useLatest from '../useLatest';
import { isFunction } from '../utils';
function useEventTarget(options) {
var _a = options || {}, initialValue = _a.initialValue, transformer = _a.transformer;
var _b = __read(useState(initialValue), 2), value = _b[0], setValue = _b[1];
var transformerRef = useLatest(transformer);
var reset = useCallback(function () { return setValue(initialValue); }, []);
var onChange = useCallback(function (e) {
var _value = e.target.value;
if (isFunction(transformerRef.current)) {
return setValue(transformerRef.current(_value));
}
// no transformer => U and T should be the same
return setValue(_value);
}, []);
return [
value,
{
onChange: onChange,
reset: reset,
},
];
}
export default useEventTarget;