use-transition-state
Version:
useTransition + useState = useTransitionState
29 lines (23 loc) • 769 B
JavaScript
import { useState, useTransition, useMemo } from 'react';
// @ts-expect-error
var useTransitionState = function useTransitionState(initialState, options) {
var _useState = useState(initialState),
state = _useState[0],
setState = _useState[1];
var _useTransition = useTransition(options),
isPending = _useTransition[0],
startTransition = _useTransition[1];
return useMemo(function () {
return [state, function (nextState) {
return startTransition(function () {
return setState(nextState);
});
}, {
isPending: isPending,
startTransition: startTransition,
setState: setState
}];
}, [startTransition, state]);
};
export default useTransitionState;
//# sourceMappingURL=index.esm.js.map