$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
React.lazyとSuspenseで行うLazy Load
Search
camcam_lemon
May 27, 2019
Programming
2
530
React.lazyとSuspenseで行うLazy Load
React.js meetup #7 (LT会)での登壇資料です
camcam_lemon
May 27, 2019
Tweet
Share
More Decks by camcam_lemon
See All by camcam_lemon
オレを実装してデザイン実装楽したい
lemon
0
60
要素のサイズを変えずに押しやすくする
lemon
0
78
iOSのキーボード入力ビューをカスタマイズする
lemon
0
260
視え方と文字の大きさ
lemon
1
420
Yarn WorkSpaces × React Nativeの環境構築
lemon
0
310
フロントエンドにおけるアーキテクチャとの向き合い方
lemon
10
5k
UI/UXデザイナーがデザインしてるもの
lemon
2
330
react-reduxで追加されたHooks APIの良い所と使い方
lemon
5
1k
ESLintで始めるTypeScriptの静的解析
lemon
8
2.1k
Other Decks in Programming
See All in Programming
俺流レスポンシブコーディング 2025
tak_dcxi
13
8.1k
AIコードレビューがチームの"文脈"を 読めるようになるまで
marutaku
0
330
C-Shared Buildで突破するAI Agent バックテストの壁
po3rin
0
350
Developing static sites with Ruby
okuramasafumi
0
190
堅牢なフロントエンドテスト基盤を構築するために行った取り組み
shogo4131
8
2.1k
S3 VectorsとStrands Agentsを利用したAgentic RAGシステムの構築
tosuri13
6
280
Navigation 3: 적응형 UI를 위한 앱 탐색
fornewid
1
180
手軽に積ん読を増やすには?/読みたい本と付き合うには?
o0h
PRO
1
150
手が足りない!兼業データエンジニアに必要だったアーキテクチャと立ち回り
zinkosuke
0
470
宅宅自以為的浪漫:跟 AI 一起為自己辦的研討會寫一個售票系統
eddie
0
480
Microservices rules: What good looks like
cer
PRO
0
780
Herb to ReActionView: A New Foundation for the View Layer @ San Francisco Ruby Conference 2025
marcoroth
0
250
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
The Cost Of JavaScript in 2023
addyosmani
55
9.3k
Raft: Consensus for Rubyists
vanstee
140
7.2k
Java REST API Framework Comparison - PWX 2021
mraible
34
9k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
[RailsConf 2023] Rails as a piece of cake
palkan
58
6.1k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.8k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.3k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
A Modern Web Designer's Workflow
chriscoyier
697
190k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Transcript
React.lazyとSuspenseで行う Lazy Load React.js meetup #7
None
React.lazyとSuspenseって? React 16.6から追加された非同期処理やLazy Load をサポートする機能 Suspense - ・・・dynamic importが完了するまで違う要素 を表示するコンポーネント
React.lazy - ・・・コンポーネントをdynamic importするAPI @loadable/component を使おう SSRには未対応 ただし... なので注意
従来のLazy Load
React.lazyとSusepense を使ってLazy Loadをする
React.lazyとSusepenseを使う
React.lazyとSusepenseを使う コンポーネントの外側で React.lazyでdynamic importする
React.lazyとSusepenseを使う fallback・・・ロード中に表示する要素 children・・・dynamic importする要素
めちゃくちゃ簡潔に書けるぞ!
もっと動的にdynamic import してみよう
やりたいこと 2 React.lazyとSuspenseを使うのは1回 3 ついでにbundleもわけよう 1 propsからimportする要素を決める
None
マウント時に1回だけReact.lazyでコンポーネント を取得するように処理を行う
undefinedにすると無限ループしてしまう depsには空配列を指定(必要であればprops)
webpackChunkNameに [request] を指定すると typeに対応するファイルを別にバンドルする
Formがnullの時があるので三項演算子で判定してから Suspenseを返すようにしている
まとめ 1 custom hooksによる責務の分離 2 可読性の向上 Hooksでより良い体験を propsによる動的かつ汎用的な操作 React.lazyとSuspenseの体験よき
ご静聴ありがとうございました!