generated at
use-loader
読み込み中付き非同期関数を処理するReact Hooks

text-bubble-component@0.2.0のtest codeから切り出して作った
こういうふうに人まとまりの機能をCustom Hookとしてパーツにばらせるのがとても便利
単一責任の原則に則る事ができる

2021-06-19
20:05:22 依存配列をデフォルト引数にした

script.js
import {useState, useEffect, useCallback} from '../preact@10.5.13/hooks.js'; export function useLoader(_callback, {delay}, deps = []) { const [loading, setLoading] = useState(false); const callback = useCallback(_callback, deps); // これを入れないと、callbackが何度もrenderingされてしまう useEffect(() => { (async () => { const timer = setTimeout(() => setLoading(true), delay); await callback(); clearTimeout(timer); setLoading(false); })(); }, [callback, delay, ...deps]); return {loading}; }