@vue-widget/hooks
Version:
hooks from react to vue
22 lines (21 loc) • 777 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useSetState = void 0;
var _tslib = require("tslib");
var _useState = require("../useState");
var _useMemoizedFn = require("../useMemoizedFn");
var _utils = require("../utils");
var useSetState = exports.useSetState = function useSetState(initialState) {
var _a = (0, _useState.useState)(initialState),
state = _a[0],
setState = _a[1];
var setMergeState = (0, _useMemoizedFn.useMemoizedFn)(function (patch) {
setState(function (prevState) {
var newState = (0, _utils.isFunction)(patch) ? patch(prevState) : patch;
return newState ? (0, _tslib.__assign)((0, _tslib.__assign)({}, prevState), newState) : prevState;
});
});
return [state, setMergeState];
};