Maison >interface Web >Questions et réponses frontales >Comment rendez-vous des listes de données dans React?
Le rendu des listes de données dans REACT implique d'itatrier le tableau de données et d'utiliser la fonction map
pour générer une liste d'éléments React. Voici un exemple de la façon de rendre une liste d'éléments:
<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>
Dans cet exemple, la fonction map
est utilisée pour parcourir le tableau items
, et pour chaque élément, un élément de liste ( <li>
) est créé. L'accessoire key
est essentiel car il aide à réagir d'identifier les éléments qui ont changé, ont été ajoutés ou ont été supprimés.
Lors du rendu des listes dans React, l'utilisation des clés est cruciale pour les performances et la réconciliation appropriée. Voici quelques meilleures pratiques pour utiliser les clés:
Math.random()
ou Date.now()
. Ceux-ci peuvent entraîner des problèmes de réconciliation et de performance.
Voici un exemple d'une utilisation clé correcte:
<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>
L'optimisation des performances du rendu de liste dans React peut être réalisée grâce à plusieurs techniques:
MÉMOISATION: Utilisez React.memo
ou useMemo
pour éviter les redevances inutiles des éléments de liste. React.memo
est utile pour les composants fonctionnels, et useMemo
peut être utilisé pour optimiser les calculs coûteux.
<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><li> Virtualisation: Lorsque vous traitez de grandes listes, envisagez d'utiliser des bibliothèques de virtualisation comme
react-window
ou react-virtualized
. Ces bibliothèques ne rendent que les éléments visibles de la liste, améliorant considérablement les performances.
<li> Évitez la nidification profonde: gardez vos composants d'élément de liste aussi simples que possible. Évitez les composants profondément imbriqués dans les éléments de la liste, car cela peut entraîner une augmentation des temps de réinstallation.
<li> Mises à jour par lots: Utilisez unstable_batchedUpdates
de Reactdom à un lot de multiples mises à jour d'état, ce qui peut améliorer les performances en réduisant le nombre de redireurs.
<li> Utilisez des opérations de liste efficaces: lors de la mise à jour des listes, préférez les opérations comme filter
ou map
via splice
ou push
pour éviter de muter le tableau d'origine, ce qui peut conduire à des redesseurs inutiles.
Lorsque vous rendez les listes dans React, il est important d'éviter les pièges courants qui peuvent entraîner des erreurs ou des problèmes de performances:
Mutant le tableau d'origine: la mutation directe du tableau d'origine peut entraîner un comportement et des bogues inattendus. Créez toujours un nouveau tableau lors de la mise à jour de l'état.
<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><li> Composants complexes excessifs: évitez de placer des composants logiques ou imbriqués complexes à l'intérieur des éléments de liste si cela n'est pas nécessaire. Cela peut entraîner des problèmes de performances, car chaque changement dans la liste fera une refonte de l'ensemble de l'arborescence des composants. <li> Ignorer la virtualisation pour les grandes listes: pour de très grandes listes, le défaut d'utiliser la virtualisation peut entraîner de mauvaises performances. Pensez à utiliser des bibliothèques comme
react-window
pour ne rendre que la partie visible de la liste.
En évitant ces erreurs courantes, vous pouvez vous assurer que le rendu de votre liste dans React est à la fois efficace et sans erreur.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!