react-use
Version:
Collection of React Hooks
21 lines (20 loc) • 753 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var react_1 = require("react");
var useUpdate_1 = tslib_1.__importDefault(require("./useUpdate"));
var resolveHookState_1 = require("./util/resolveHookState");
function useGetSet(initialState) {
var state = react_1.useRef(resolveHookState_1.resolveHookState(initialState));
var update = useUpdate_1.default();
return react_1.useMemo(function () { return [
// get
function () { return state.current; },
// set
function (newState) {
state.current = resolveHookState_1.resolveHookState(newState, state.current);
update();
},
]; }, []);
}
exports.default = useGetSet;