UNPKG

ahooks

Version:
25 lines (24 loc) 1.07 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _react = require("react"); var _useMemoizedFn = _interopRequireDefault(require("../useMemoizedFn")); var _utils = require("../utils"); function useSetState(initialState) { var _useState = (0, _react.useState)(initialState !== null && initialState !== void 0 ? initialState : {}), _useState2 = (0, _slicedToArray2["default"])(_useState, 2), state = _useState2[0], setState = _useState2[1]; var setMergeState = (0, _useMemoizedFn["default"])(function (patch) { setState(function (prevState) { var newState = (0, _utils.isFunction)(patch) ? patch(prevState) : patch; return newState ? Object.assign(Object.assign({}, prevState), newState) : prevState; }); }); return [state, setMergeState]; } var _default = exports["default"] = useSetState;