こんな時ありませんか?
バックエンドAPI通信中に画面ローディングを実装したいな・・・・
例えば、こんな処理があったとします。バックエンドへ何回もAPIせずにローディングコンポーネントを作りたい!
処理1 → バックエンドAPI処理 → 処理2
同期的に処理し、処理に待ちを発生させる
上記の例をもとに処理を書くとこんな感じです。
XXXX.tsx
//ローディングを表示・非表示にするstate
const [isLoading, setIsLoading] = useState<boolean>();
//バックエンドAPIを実行するためのボタンをクリック
const onClick = async () => {
処理1
setIsLoading(true);
// await バックエンドAPI処理();
// 上記の代わりに以下を入れる3000は3秒
await new Promise((resolve) => setTimeout(resolve, 3000));
setIsLoading(false);
処理2
};
最後に
ちょっとした役立つ情報を今後も発信していこうと思います!