こんにちは Gaji-Labo フロントエンドエンジニアの茶木です。 apiとの格闘の日々が続いています。 特にエラーの取り回しは、非同期処理も重なっており、地味に複雑だと思います。 そこで、一度使いやすいパターンを作ってしまおうと思います。 基本形エラー処理を書かない基本形は api の非同期処理を useEffect の中で吸収し、 res の有無で、ローディングとコンテンツを出し分けするようにします。 const [state, setState] = useState(); useEffect(() => { (async () => { const res = await getSomthingApi(); setState(res); })(); }, []); if(!res) return <p>ローディング中</p> const {data} = res; return
![【React】APIをカスタムフックで扱いやすくする](https://cdn-ak-scissors.b.st-hatena.com/image/square/3801ce228ccdbd8720fcdc7d5f8dca57a24b3e37/height=288;version=1;width=512/https%3A%2F%2Fwp.gaji.jp%2Fwp-content%2Fuploads%2F2022%2F02%2Fivan-jurilj-YNM0aZC3tPE-unsplash-scaled.jpg)