Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ErrorBoundaryとSuspenseの導入検討
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
rakus frontend
May 23, 2024
Technology
830
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ErrorBoundaryとSuspenseの導入検討
rakus frontend
May 23, 2024
More Decks by rakus frontend
See All by rakus frontend
新卒FEが1年目に取り組んだこと・学んだこと
rakus_fe
0
56
日付をもう少し真面目に勉強中
rakus_fe
0
56
React19 β をざっと見る
rakus_fe
0
360
Reactのパフォーマンス改善例
rakus_fe
0
600
Typescript5.4の新機能
rakus_fe
0
350
非破壊的な配列メソッド
rakus_fe
0
420
ココがすごいぜ!Playwright Component Test
rakus_fe
0
630
スプレッドシートのセル結合がつらいので足掻いてみた話
rakus_fe
0
300
Other Decks in Technology
See All in Technology
AIが実装を自走する時代の認知負債との戦い
lycorptech_jp
PRO
1
450
AI時代の開発生産性を捉え直す — 経営と現場をつなぐ「開発組織のオブザーバビリティ」— / AI Dev Ex Conference 2026
tkyowa
0
110
プロダクト開発組織の現在地(Ver.2026/07) / product-organization
kaonavi
0
120
第67回コンピュータビジョン勉強会CVPR2026読会前編
tsukamotokenji
0
150
知らん間に、回ってる
ming_ayami
0
740
個人開発で育てる「大規模設計の苗床」 - AI時代の1人開発から始める業務への知識接続 / The Seedbed for Large-Scale Design - From AI-Era Solo Projects to Professional Knowledge
bitkey
PRO
1
280
企業でAWS Organizationsを動かすための組織設計の考え方
nrinetcom
PRO
1
110
AI時代のPlaywright活用(システムテストを自動化する ー 実行エンジンにPla ywrightを選んだ理由)
ynisqa1988
1
630
そのドキュメント、自動化しませんか?
yuksew
1
310
Genie Ontologyは銀の弾丸かを考える / Is Genie Ontology a Silver Bullet?
nttcom
0
410
マルチアカウント環境でSecurity Hubの運用、その後どうなった? / SRE NEXT 2026 miniLT会
genda
0
110
大量データに対しても、生成AIを用いてリーズナブルにデータ加工をしたい!Databricksのai_queryについて調べてみた
kamoshika
1
220
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
174
15k
Building the Perfect Custom Keyboard
takai
2
810
My Coaching Mixtape
mlcsv
0
170
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
610
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
A better future with KSS
kneath
240
18k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
350
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
400
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.5k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
350
Six Lessons from altMBA
skipperchong
29
4.3k
Transcript
ErrorBoundaryとSuspense 導入検討 2024/05/21 FE情報共有会 北嶋初音
ErrorBoundaryと コンポーネントツリー内で発生するJavaScriptランタイムエラーをキャッチし、ア プリケーション 一部がクラッシュする を防ぐため も 。最終防衛線的なイ メージ。 function
App() { return ( // Hoge内でエラーが発生したら ErrorBoundaryで定義したフォールバック UIが表示される <ErrorBoundary> <Hoge /> </ErrorBoundary> ); }
Suspenseと 非同期データ 読み込み中にフォールバックUIを表示するため コンポーネン ト。例え 、データが読み込まれるまで 間にローディングUIを表示するために 使用される。 function
App() { return ( // Hoge内で非同期処理が発生したら Loadingが表示される <Suspense fallback={<div>Loading...</div>}> <Hoge /> </Suspense> ); }
やりたかったこと • 想定外エラー → すべてErrorBoundaryに任せる • loading処理 → すべてSuspenseに任せる
function App() { return ( <ErrorBoundary> <Suspense fallback={<div>Loading...</div>}> <Hoge /> </Suspense> </ErrorBoundary> ); }
これでハッピー!
これでハッピー! になれる ずだった。。
ErrorBoundaryで エラーハンドリング • API通信(axios)側でも「こ パターン 場合 ErrorBoundary相当 も を 表示させたいよ
」的な話が出てきてしまった ◦ そこでErrorBoundaryを使うために 、わざわざthrow errorする必要があったりと実装が複 雑になってしまう • そもそもErrorBoundary 共通エラーハンドリングなど ために利用すべき で ない、最終防衛線として使う が正しい で使い方がズレてきてしまう • それであれ 、利用するべきでないという結論に至った
Suspenseで ローディング表示 • エラーハンドリングと同様にこちらも個別管理 方が向いているなという結 論 • 例え 、複数 APIを同時に叩く画面で「部分的に取得済み
時 一部 み先に表示したいよ 」といった要求に 答えられなくなる • 柔軟な対応ができなくなる未来が見えてしまった
導入見送り
まとめ • シンプルに設計できる場合に ErrorBoundaryとSuspenseを使っても良さそ う • ただし機能要求が複雑になりそうな場合、柔軟性を考えると個別対応する が無難 • ErrorBoundaryを使うために、、
ように手段と目的が逆転してしまった 少し反省
皆さん 商材で 使ってますか?