Реагировать Учебник

Реагировать Главная Реагировать Введение Реагировать Начать Реагировать ES6 Реагировать на визуализацию HTML Реагировать JSX Реагировать Компоненты Реагировать на класс Реагировать на реквизиты Реагировать на события Реагировать на условия Реагировать списки Реагировать на формы Реактивный маршрутизатор Реагировать на заметку Реагировать на стили CSS Реагировать на стиль Sass

Реагировать на крючки

Что такое крючок? использование состояния использованиеЭффект использованиеконтекста useRef использованиередьюсер использоватьОбратный звонок useMemo Пользовательские крючки

Упражнения по реагированию

Ответная викторина Упражнения по реагированию Сертификат реакции

Реагировать списки


В React вы будете отображать списки с некоторым циклом.

map()Метод массива JavaScript обычно является предпочтительным методом.

Если вам нужно освежить в памяти этот map()метод, ознакомьтесь с разделом ES6 .


Пример:

Давайте визуализируем все автомобили из нашего гаража:

function Car(props) {
  return <li>I am a { props.brand }</li>;
}

function Garage() {
  const cars = ['Ford', 'BMW', 'Audi'];
  return (
    <>
      <h1>Who lives in my garage?</h1>
      <ul>
        {cars.map((car) => <Car brand={car} />)}
      </ul>
    </>
  );
}

ReactDOM.render(<Garage />, document.getElementById('root'));

Когда вы запустите этот код в своем create-react-app, он будет работать, но вы получите предупреждение о том, что для элементов списка не предоставлен «ключ».


w3schools CERTIFIED . 2022

Получите сертификат!

Завершите модули React, выполните упражнения, сдайте экзамен и получите сертификат w3schools!!

ЗАПИСАТЬСЯ НА 95 $

Ключи

Ключи позволяют React отслеживать элементы. Таким образом, если элемент обновляется или удаляется, будет повторно отображаться только этот элемент, а не весь список.

Ключи должны быть уникальными для каждого брата. Но их можно дублировать глобально.

Как правило, ключ должен быть уникальным идентификатором, присвоенным каждому элементу. В крайнем случае вы можете использовать индекс массива в качестве ключа.

Пример:

Давайте реорганизуем наш предыдущий пример, чтобы включить ключи:

function Car(props) {
  return <li>I am a { props.brand }</li>;
}

function Garage() {
  const cars = [
    {id: 1, brand: 'Ford'},
    {id: 2, brand: 'BMW'},
    {id: 3, brand: 'Audi'}
  ];
  return (
    <>
      <h1>Who lives in my garage?</h1>
      <ul>
        {cars.map((car) => <Car key={car.id} brand={car.brand} />)}
      </ul>
    </>
  );
}

ReactDOM.render(<Garage />, document.getElementById('root'));


Проверьте себя с помощью упражнений

Упражнение:

Добавьте атрибут, который позволяет React отслеживать элементы в списках.

function GroceryList() {
  const items = [
    {id: 1, name: 'bread'},
    {id: 2, name: 'milk'},
    {id: 3, name: 'eggs'}
  ];

  return (
    <>
      <h1>Grocery List</h1>
      <ul>
        {items.map((item) => <li ={item.id}>{item.name}</li>)}
      </ul>
    </>
  );
}

ReactDOM.render(<GroceryList />, document.getElementById('root'));