Jak tworzy się listy w Reakcie?

React

readTime

3 min

Jak tworzy się listy w Reakcie?

Spis treści

W bibliotece React listy renderuje się za pomocą pewnego rodzaju pętli.

Najczęściej spotykaną i preferowaną jest metoda map().

Funkcja .map() jest jedną z najczęściej używanych metod programowania funkcyjnego. Jest to metoda tablicowa czyli wykonuje się ją na tablicy i transformuje ona po kolei każdy z elementów tablicy a następnie zwraca nową tablicę ze zmodyfikowaną zawartością.

Listy są bardzo przydatne bo tak naprawdę w każdym miejscu gdzie chcemy wyświetlić jakieś dane interfejsu użytkownika, menu lub cokolwiek to z łatwością możemy skorzystać z listy elementów.

Do iterowania po tablicy i zwrócenia nowej tablicy z nowymi elementami możemy użyć funkcji map(),jak pokazano w poniższym kodzie:

js

<script type="text/javascript">
    const numberArray = [1,2,3,4,5];
    const updatedNumsExample = numberArray.map((number)=>{
        return (number + 2);
    });
    console.log(updatedNumsExample);
</script>

Wynik: [3, 4, 5, 6, 7]

Po co nam listy w bibliotece React?

Listy są kluczowymi funkcjami aplikacji. Lista zadań, lista zdjęć, lista przedmiotów do kupienia w koszyku itp. To liczne przypadki użycia list z życia codziennego.

Listy są przydatne tak naprawdę na każdej witrynie. Weźmy choćby pod uwagę menu na stronie internetowej lub jakikolwiek zbiór elementów o podobnej charakterystyce.

W interfejsach użytkownika jest wiele elementów które się powtarzają, tak naprawdę tylko dane się zmieniają a komponenty w swojej strukturze wyglądają tak samo. Dlatego warto skorzystać z metody map i na podstawie danych z tablicy utworzyć nowe komponenty.

Czym są klucze gdy tworzymy listy w Reakcie?

Każdy element listy powinien mieć unikalny klucz. „Klucz” to specjalny atrybut, wymagany podczas tworzenia list elementów w React. Klucze są ważne dla poprawy wydajności aplikacji React. Klucze pomagają również zidentyfikować, które elementy uległy zmianie (dodano/usunięto/zaktualizowano).

js

const numbers = [1, 2, 3, 4, 5];
const listItems = numbers.map((number) =>
  <li key={number.toString()}>
    {number}
  </li>
);

Najlepszym sposobem wyboru klucza jest użycie unikatowego ciągu znaków, który jednoznacznie identyfikuje element listy spośród innych elementów tablicy. Jako kluczy często będziesz używać identyfikatorów (ang. IDs) ze swoich danych:

js
const todoItems = todos.map((todo) =>
  <li key={todo.id}>
    {todo.text}
  </li>
);


Jeśli w danych, którymi dysponujesz nie ma identyfikatorów dla wyświetlanych elementów, to możesz użyć indeksu elementu tablicy do określenia klucza, aczkolwiek nie jest to dobra praktyka bo elementy mogą ulec zmianie w tablicy i wszystko się posypie:

js

const todoItems = todos.map((todo, index) =>
  // Rób to tylko w przypadku, gdy elementy nie mają identyfikatorów
  <li key={index}>
    {todo.text}
  </li>
);

Renderowanie listy komponentów w Reakcie

js
const list = [
  {
    id: 'a',
    firstname: 'Robin',
    lastname: 'Wieruch',
    year: 1988,
  },
  {
    id: 'b',
    firstname: 'Dave',
    lastname: 'Davidds',
    year: 1990,
  },
];
 
const List = ({ list }) => (
  <ul>
    {list.map(item => (
      <ListItem key={item.id} item={item} />
    ))}
  </ul>
);



authorImg

Witek Pruchnicki

Z pasją dzielę się wiedzą o programowaniu i nie tylko na różne sposoby