UNPKG

@vue-widget/hooks

Version:

hooks from react to vue

15 lines (14 loc) 599 B
import { __assign } from "tslib"; import { useState } from "../useState"; import { useMemoizedFn } from "../useMemoizedFn"; import { isFunction } from "../utils"; export var useSetState = function (initialState) { var _a = useState(initialState), state = _a[0], setState = _a[1]; var setMergeState = useMemoizedFn(function (patch) { setState(function (prevState) { var newState = isFunction(patch) ? patch(prevState) : patch; return newState ? __assign(__assign({}, prevState), newState) : prevState; }); }); return [state, setMergeState]; };