React Native

パフォーマンス最適化

FlatListの最適化、memo、useMemo/useCallback、Hermes、プロファイリング、バンドルサイズ

24 面接問題·
Senior
1

React Nativeのパフォーマンス最適化におけるReact.memoの主な役割は何ですか?

回答

React.memoは、関数コンポーネントのレンダリング結果をメモ化する高階コンポーネント(Higher-Order Component)です。現在のpropsを以前のものと比較する(デフォルトではshallow comparison)ことで、不要な再レンダリングを防ぎます。propsが変更されていない場合、Reactはコンポーネントを再レンダリングする代わりにメモ化された結果を再利用するため、リストや複雑なコンポーネントツリーでのパフォーマンスが大幅に向上します。

2

アイテムの寸法を事前に提供することでスクロールを大幅に最適化するFlatListのプロパティはどれですか?

回答

getItemLayoutは、各要素の高さ、幅、オフセットを事前に計算できるFlatListのオプションプロパティです。これにより React Nativeが各アイテムを動的に測定する必要がなくなり、特にscrollToIndexで特定のインデックスにジャンプする際のスクロールパフォーマンスが大幅に向上します。この最適化は、すべてのアイテムが同じサイズの場合に特に有効です。

3

最適化の観点で、useMemoとuseCallbackの主な違いは何ですか?

回答

useMemoはコストの高い計算の結果をメモ化してその計算値を返し、useCallbackは関数そのものをメモ化してその関数を返します。useMemoはレンダリングのたびに重い再計算を避けるのに役立ち、useCallbackはメモ化された子コンポーネントにpropsとして渡される関数の再生成を防ぐために不可欠です。再生成すると、その子コンポーネントのReact.memoによる最適化が無効になってしまいます。

4

Hermesとは何であり、React Nativeアプリケーションにとっての主な利点は何ですか?

5

FlatListに安定したkeyExtractor関数を提供することがなぜ重要なのですか?

+21 面接問題

次の面接に向けてReact Nativeをマスター

すべての問題、flashcards、技術テスト、コードレビュー演習、面接シミュレーターにアクセス。

無料で始める