React Tricks Miniseries 5: Как передавать реквизиты более эффективно

React — это все о реквизитах, и чем больше вы используете многоразовых компонентов, тем более масштабируемым станет ваше приложение на реакте (если, конечно, все сделано правильно).

Передача реквизитов дочернему компоненту может быть тривиальной задачей, но многие разработчики делают это неправильно. Мы все были там. Большинство пользователей передают реквизиты одним из двух способов. Либо передавая каждое свойство, которое мы хотим использовать, либо передавая объект, содержащий реквизиты, которые мы хотим использовать.

Способ 1

<Card 
  cardObject={cardObject}
/>
Войдите в полноэкранный режим Выйти из полноэкранного режима

Метод 2

<Card 
  title={title}
  description={description}
  rating={rating}
/>
Войти в полноэкранный режим Выйти из полноэкранного режима

В первом сценарии нам нужно будет получить реквизит внутри компонента Card, причем менее эффективным способом:

export default function Card(props) {
  const { title, description, rating } = props.cardObject
}
Войти в полноэкранный режим Выход из полноэкранного режима

А во втором случае, когда список реквизитов становится длинным, добавлять их все по одному становится слишком неэффективно.

Решение

Лучшим практическим методом является использование деструктуризации объекта следующим образом:

<Card 
  {...cardObject}
/>
//then retrieve the props in the usualy way
export default function Card({ title, description, rating }) {

}
Вход в полноэкранный режим Выйти из полноэкранного режима

Этот метод намного чище, эффективнее и лучше масштабируется для длинных списков реквизитов.

Заключение

Используя деструктуризацию объектов, мы можем добиться лучшей и более эффективной передачи реквизитов в компоненты react.

Вы всегда использовали этот метод? Или только сейчас узнали? Дайте мне знать в комментариях!

Оцените статью
Procodings.ru
Добавить комментарий