@wener/ui
Version:
34 lines • 1.08 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.useFetchEffect = void 0;
const react_1 = __importDefault(require("react"));
const usePromiseEffect_1 = require("./usePromiseEffect");
function useFetchEffect(fetcher, deps) {
const [result, setResult] = react_1.default.useState(() => {
try {
return fetcher();
}
catch (error) {
return Promise.reject(error);
}
});
const initial = react_1.default.useRef(true);
react_1.default.useEffect(() => {
if (initial.current) {
initial.current = false;
return;
}
try {
setResult(fetcher());
}
catch (error) {
setResult(Promise.reject(error));
}
}, deps);
return usePromiseEffect_1.usePromiseEffect(result);
}
exports.useFetchEffect = useFetchEffect;
//# sourceMappingURL=useFetchEffect.js.map