Skip to content

Домашнее задание по курсу «React: библиотека № 1 в современной фронтенд-разработке»

Notifications You must be signed in to change notification settings

Maksim-Gavr-04/ra_1_online_store_page_class

Repository files navigation

Домашнее задание к занятию «Компоненты»

Build status


Страница интернет-магазина

Необходимо создать React-компонент ShopItemClass (class-based компонент), с помощью которого мы могли бы реализовывать представление информации о товарах из нашего каталога на сайте в таком виде (компонент обведён пунктирной линией):

Внешний вид страницы после реализации компонента

Пример использования

const item = {
  brand: 'Tiger of Sweden',
  title: 'Leonard coat',
  description: 'Minimalistic coat in cotton-blend',
  descriptionFull: 'Men\'s minimalistic overcoat in cotton-blend. Features a stand-up collar, concealed front closure and single back vent. Slim fit with clean, straight shape. Above-knee length.',
  price: 399,
  currency: '£'
};

// Внутри компонента App
return (
  <div className="container">
    <div className="background-element"></div>
    <div className="highlight-window">
      <div className="highlight-overlay"></div>
    </div>
    <div className="window">
      <ShopItemFunc item={item} />
    </div>
  </div>
);

Описание компонента

Компонент должен иметь один props item, в котором он ожидает объект с информацией о товаре со следующими свойствами:

  • brand — название производителя товара;
  • title — название товара;
  • description — краткое описание товара;
  • descriptionFull — подробное описание товара;
  • price — цена товара;
  • currency — валюта товара.

Компонент должен создавать DOM элемент следующей структуры:

<div class="main-content">
  <h2>Tiger of Sweden</h2>
  <h1>Leonard coat</h1>
  <h3>Minimalistic coat in cotton-blend</h3>
  <div class="description">
    Men's minimalistic overcoat in cotton-blend. Features a stand-up collar, concealed front closure and single back vent. Slim fit with clean, straight shape. Above-knee length.
  </div>
  <div class="highlight-window mobile">
    <div class="highlight-overlay"></div>
  </div>
  <div class="divider"></div>
  <div class="purchase-info">
    <div class="price">£399.00</div>
    <button>Добавить в корзину</button>
  </div>
</div>

Соответственно название производителя необходимо подставить в h2, название товара в h1, краткое описание в h3, подробное описание в div.description, цену и валюту в div.price. При этом символ валюты должен следовать перед ценой, а цена должна быть представлена с двумя числами после запятой.

About

Домашнее задание по курсу «React: библиотека № 1 в современной фронтенд-разработке»

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published