НАЙКРАЩИЙ САЙТ ДЛЯ ВЕБ-РОЗРОБНИКІВ
React. W3Schools українською. Уроки для початківців

En

React Компоненти


Компоненти схожі на функції, які повертають елементи HTML.


Компоненти React

Компоненти — це незалежні фрагменти коду, які можна багаторазово використовувати. Вони служать тій самій меті, що й функції JavaScript, але працюють ізольовано та повертають HTML.

Компоненти бувають двох типів: компоненти класу та компоненти функцій. У цьому посібнику ми зосередимося на компонентах функцій.

У старіших базах коду React ви можете виявити, що в основному використовуються компоненти класу. Тепер пропонується використовувати компоненти Function разом із хуками, які були додані в React 16.8. Для довідки є додатковий розділ про компоненти класу.


Створіть свій перший компонент

Під час створення компонента React назва компонента МАЄ починатися з великої літери.

Компонент класу (Class)

Компонент класу повинен містити інструкцію extends React.Component. Ця інструкція створює успадкування React.Component і надає компоненту доступ до функцій React.Component.

Для компонента також потрібен метод render(), цей метод повертає HTML.

Приклад

Create a Class component called Car

class Car extends React.Component {
render() {
return <h2>Hi, I am a Car!</h2>;
}
}

Компонент функції (Function)

Ось той самий приклад, що й вище, але замість нього створено за допомогою компонента Function.

Компонент Function також повертає HTML і поводиться приблизно так само, як компонент Class, але компоненти Function можуть бути написані з використанням набагато меншого коду, їх легше зрозуміти, і їм буде віддано перевагу в цьому посібнику.

Приклад

Створіть компонент Function під назвою Car

function Car() {
return <h2>Hi, I am a Car!</h2>;
}


Рендеринг (візуалізація) компонента

Тепер ваша програма React має компонент під назвою Car, який повертає елемент <h2>.

Щоб використовувати цей компонент у своїй програмі, використовуйте синтаксис, подібний до звичайного HTML: <Car />

Приклад

Відобразити компонент Car у "root" (кореневому) елементі:

const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(<Car />);

Виконати приклад »


Props (Реквізит)

Компоненти можна передати як props, що означає властивості (реквізити).

Реквизити схожі на аргументи функції, і ви надсилаєте їх у компонент як атрибути.

Ви дізнаєтеся більше про props в наступному розділі.

Приклад

Використовуйте атрибут, щоб передати колір компоненту Car, і використовуйте його у функції render():

function Car(props) {
return <h2>I am a {props.color} Car!</h2>;
}

const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(<Car color="red"/>);

Виконати приклад »


Компоненти в компонентах

Ми можемо посилатися на компоненти всередині інших компонентів:

Приклад

Використовуйте компонент Car всередині компонента Garage:

function Car() {
return <h2>I am a Car!</h2>;
}

function Garage() {
return (
<>
  <h1>Who lives in my Garage?</h1>
  <Car />
</>
);
}

const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(<Garage />);

Виконати приклад »


Компоненти у файлах

React — це повторне використання коду, тому рекомендується розділяти ваші компоненти на окремі файли.

Для цього створіть новий файл із розширенням .js і вставте в нього код:

Зверніть увагу, що назва файлу має починатися з великої літери.

Приклад

Це новий файл, ми його назвали "Car.js":

function Car() {
return <h2>Hi, I am a Car!</h2>;
}

export default Car;

Щоб мати можливість використовувати компонент Car, вам потрібно імпортувати файл у ваш додаток.

Приклад

Тепер ми імпортуємо "Car.js" файл у програмі, і ми можемо використовувати компонент Car так, ніби його було створено тут.

import React from 'react';
import ReactDOM from 'react-dom/client';
import Car from './Car.js';

const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(<Car />);

Виконати приклад »


Перевірте себе за допомогою вправ

Вправа:

Назвіть наступний компонент React "person".

function (props) {
return <h2>Hi, I'm {props.name}</h2>;
}