UNPKG

use-async-memo

Version:

React hook for generating async memoized data.

24 lines (23 loc) 695 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useAsyncMemo = void 0; var react_1 = require("react"); function useAsyncMemo(factory, deps, initial) { var _a = (0, react_1.useState)(initial), val = _a[0], setVal = _a[1]; (0, react_1.useEffect)(function () { var cancel = false; var promise = factory(); if (promise === undefined || promise === null) return; promise.then(function (val) { if (!cancel) { setVal(val); } }); return function () { cancel = true; }; }, deps); return val; } exports.useAsyncMemo = useAsyncMemo;