Reactのデータのレンダリングリストには、データ配列を反復し、 map
関数を使用してReact要素のリストを生成することが含まれます。以下は、アイテムのリストをレンダリングする方法の例です。
<code class="jsx">const items = [ { id: 1, name: 'Item 1' }, { id: 2, name: 'Item 2' }, { id: 3, name: 'Item 3' }, ]; function ListComponent() { return ( <ul> {items.map((item) => ( <li key="{item.id}">{item.name}</li> ))} </ul> ); }</code>
この例では、 map
関数を使用してitems
アレイを反復し、各アイテムに対してリスト項目( <li>
)が作成されます。 key
小道具は、どのアイテムが変更されたか、追加された、または削除されたかを特定するのに役立つため、重要です。
Reactでリストをレンダリングする場合、キーを使用することは、パフォーマンスと適切な調整に重要です。キーを使用するためのベストプラクティスは次のとおりです。
Math.random()
やDate.now()
などの一般的なキーを使用しないでください。これらは、和解とパフォーマンスの問題につながる可能性があります。
正しいキー使用法の例は次のとおりです。
<code class="jsx">const users = [ { id: 1, name: 'Alice' }, { id: 2, name: 'Bob' }, ]; function UserList() { return ( <ul> {users.map((user) => ( <li key="{user.id}">{user.name}</li> ))} </ul> ); }</code>
Reactのリストレンダリングのパフォーマンスを最適化することは、いくつかのテクニックを通じて達成できます。
メモ: React.memo
またはuseMemo
を使用して、リスト項目の不要な再レンダーを防ぎます。 React.memo
は機能成分に役立ち、 useMemo
高価な計算を最適化するために使用できます。
<code class="jsx">import React from 'react'; const Item = React.memo(function Item({ name }) { return <li>{name}</li>; }); function ListComponent({ items }) { return ( <ul> {items.map((item) => ( <item key="{item.id}" name="{item.name}"></item> ))} </ul> ); }</code>
react-window
やreact-virtualized
などの仮想化ライブラリの使用を検討してください。これらのライブラリは、リスト内の可視アイテムのみをレンダリングし、パフォーマンスを大幅に改善します。
<li>
深いネスティングを避けてください:リストアイテムのコンポーネントを可能な限りシンプルに保ちます。リスト項目内の深くネストされたコンポーネントを避けてください。これにより、再レンダリング時間が増加する可能性があるためです。
<li>
バッチアップの更新: unstable_batchedUpdates
を使用して、Reactdomから複数の状態の更新をバッチします。これにより、再レンダーの数を減らすことでパフォーマンスが向上します。
<li>
効率的なリスト操作を使用する場合:リストを更新する場合、 filter
やmap
上のsplice
またはpush
などの操作を好み、元のアレイの変異を避けて、不必要な再レンダーにつながる可能性があります。
Reactでリストをレンダリングする場合、エラーやパフォーマンスの問題につながる可能性のある一般的な落とし穴を避けることが重要です。
元の配列の変異:元の配列を直接変異させると、予期しない動作やバグが発生する可能性があります。状態を更新するときは、常に新しい配列を作成します。
<code class="jsx">// Incorrect: Mutating the original array const items = [{ id: 1, name: 'Item 1' }]; items.push({ id: 2, name: 'Item 2' }); // Correct: Creating a new array const items = [{ id: 1, name: 'Item 1' }]; const newItems = [...items, { id: 2, name: 'Item 2' }];</code>
react-window
などのライブラリを使用して、リストの可視部分のみをレンダリングすることを検討してください。
これらの一般的な間違いを避けることにより、Reactでのリストのレンダリングが効率的でエラーのないものであることを確認できます。
以上がReactのデータのリストをどのようにレンダリングしますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。