use-transition-state
Version:
useTransition + useState = useTransitionState
37 lines (29 loc) • 1.27 kB
JavaScript
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react')) :
typeof define === 'function' && define.amd ? define(['exports', 'react'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.UseTransitionState = {}, global.React));
}(this, (function (exports, react) { 'use strict';
// @ts-expect-error
var useTransitionState = function useTransitionState(initialState, options) {
var _useState = react.useState(initialState),
state = _useState[0],
setState = _useState[1];
var _useTransition = react.useTransition(options),
isPending = _useTransition[0],
startTransition = _useTransition[1];
return react.useMemo(function () {
return [state, function (nextState) {
return startTransition(function () {
return setState(nextState);
});
}, {
isPending: isPending,
startTransition: startTransition,
setState: setState
}];
}, [startTransition, state]);
};
exports.useTransitionState = useTransitionState;
Object.defineProperty(exports, '__esModule', { value: true });
})));
//# sourceMappingURL=index.umd.development.js.map