パフォーマンス最適化
FlatListの最適化、memo、useMemo/useCallback、Hermes、プロファイリング、バンドルサイズ
24 面接問題·
Senior
1React Nativeのパフォーマンス最適化におけるReact.memoの主な役割は何ですか?
1
React Nativeのパフォーマンス最適化におけるReact.memoの主な役割は何ですか?
回答
React.memoは、関数コンポーネントのレンダリング結果をメモ化する高階コンポーネント(Higher-Order Component)です。現在のpropsを以前のものと比較する(デフォルトではshallow comparison)ことで、不要な再レンダリングを防ぎます。propsが変更されていない場合、Reactはコンポーネントを再レンダリングする代わりにメモ化された結果を再利用するため、リストや複雑なコンポーネントツリーでのパフォーマンスが大幅に向上します。
2アイテムの寸法を事前に提供することでスクロールを大幅に最適化するFlatListのプロパティはどれですか?
2
アイテムの寸法を事前に提供することでスクロールを大幅に最適化するFlatListのプロパティはどれですか?
回答
getItemLayoutは、各要素の高さ、幅、オフセットを事前に計算できるFlatListのオプションプロパティです。これにより React Nativeが各アイテムを動的に測定する必要がなくなり、特にscrollToIndexで特定のインデックスにジャンプする際のスクロールパフォーマンスが大幅に向上します。この最適化は、すべてのアイテムが同じサイズの場合に特に有効です。
3最適化の観点で、useMemoとuseCallbackの主な違いは何ですか?
3
最適化の観点で、useMemoとuseCallbackの主な違いは何ですか?
回答
useMemoはコストの高い計算の結果をメモ化してその計算値を返し、useCallbackは関数そのものをメモ化してその関数を返します。useMemoはレンダリングのたびに重い再計算を避けるのに役立ち、useCallbackはメモ化された子コンポーネントにpropsとして渡される関数の再生成を防ぐために不可欠です。再生成すると、その子コンポーネントのReact.memoによる最適化が無効になってしまいます。
4
Hermesとは何であり、React Nativeアプリケーションにとっての主な利点は何ですか?
5
FlatListに安定したkeyExtractor関数を提供することがなぜ重要なのですか?
+21 面接問題
その他のReact Native面接トピック
JavaScript の基礎
Junior
25問React の基礎
Junior
20問React Native の基礎
Junior
22問React Hooks
Junior
20問React と React Native のための TypeScript
Junior
22問React Native のコンポーネントと API
Junior
20問React Native のスタイリングとレイアウト
Junior
18問React Native ナビゲーション
Mid-Level
22問React Native の状態管理
Mid-Level
24問React Native のネットワーキングと API
Mid-Level
20問データの永続化
Mid-Level
20問フォームとバリデーション
Mid-Level
18問React Native アニメーション
Mid-Level
22問Native Modules & Bridge
Mid-Level
20問プラットフォーム固有のコード
Mid-Level
18問権限とデバイスAPI
Mid-Level
20問Push Notifications
Mid-Level
18問React Native のテスト
Mid-Level
20問React Native のデバッグ
Mid-Level
18問Build & Deployment
Mid-Level
20問Expo vs React Native Bare
Mid-Level
18問メモリ管理
Senior
20問Architecture Patterns
Senior
22問React Native の New Architecture
Senior
24問セキュリティのベストプラクティス
Senior
20問Offline-First Architecture
Senior
20問React Native の CI/CD
Senior
20問Monorepoとコード共有
Senior
18問高度なトピック
Senior
22問アプリのライフサイクルとバックグラウンド実行
Mid-Level
20問認証とセッション管理
Mid-Level
22問Monitoring & Crash Reporting
Senior
20問