Reaguj Komponenty


Komponenty są jak funkcje, które zwracają elementy HTML.


Reaguj Komponenty

Komponenty to niezależne i wielokrotnego użytku bity kodu. Służą temu samemu celowi co funkcje JavaScript, ale działają w izolacji i zwracają kod HTML.

Komponenty występują w dwóch typach: Komponenty klasowe i Komponenty funkcyjne, w tym samouczku skoncentrujemy się na komponentach funkcyjnych.

W starszych bazach kodu Reacta można znaleźć głównie używane komponenty klas. Obecnie sugeruje się używanie komponentów Function wraz z hookami, które zostały dodane w React 16.8. Istnieje opcjonalna sekcja dotycząca składników klasy w celach informacyjnych.


Stwórz swój pierwszy komponent

Podczas tworzenia komponentu React nazwa komponentu MUSI zaczynać się od dużej litery.

Składnik klasy

Składnik klasy musi zawierać extends React.Componentinstrukcję. Ta instrukcja tworzy dziedziczenie po React.Component i daje Twojemu komponentowi dostęp do funkcji React.Component.

Komponent wymaga również render()metody, ta metoda zwraca kod HTML.

Przykład

Utwórz komponent klasy o nazwie Car

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

Komponent funkcji

Oto ten sam przykład, co powyżej, ale utworzony przy użyciu komponentu Function.

Składnik Function również zwraca kod HTML i zachowuje się podobnie jak składnik Class, ale składniki Function można pisać przy użyciu znacznie mniejszej ilości kodu, są łatwiejsze do zrozumienia i będą preferowane w tym samouczku.

Przykład

Utwórz komponent funkcji o nazwieCar

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


w3schools CERTIFIED . 2022

Zostać certyfikowanym!

Uzupełnij moduły React, wykonaj ćwiczenia, podejdź do egzaminu i uzyskaj certyfikat w3schools!!

95 $ ZAPISZ

Renderowanie komponentu

Teraz Twoja aplikacja React ma komponent o nazwie Car, który zwraca <h2>element.

Aby użyć tego komponentu w swojej aplikacji, użyj podobnej składni jak normalny HTML: <Car />

Przykład

Wyświetl Carkomponent w elemencie „root”:

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


Rekwizyty

Komponenty mogą być przekazywane jako props, co oznacza właściwości.

Rekwizyty są jak argumenty funkcji i wysyłasz je do komponentu jako atrybuty.

Więcej o tym dowiesz się propsw następnym rozdziale.

Przykład

Użyj atrybutu, aby przekazać kolor do komponentu Car i użyj go w funkcji render():

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

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


Komponenty w Komponentach

Możemy odnosić się do komponentów wewnątrz innych komponentów:

Przykład

Użyj komponentu Samochód w komponencie Garaż:

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

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

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


Komponenty w plikach

React polega na ponownym wykorzystaniu kodu i zaleca się podzielenie komponentów na osobne pliki.

Aby to zrobić, utwórz nowy plik z .js rozszerzeniem pliku i umieść w nim kod:

Zauważ, że nazwa pliku musi zaczynać się od wielkiej litery.

Przykład

To jest nowy plik, nazwaliśmy go „Car.js”:

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

export default Car;

Aby móc korzystać z komponentu Car, musisz zaimportować plik w swojej aplikacji.

Przykład

Teraz importujemy plik „Car.js” w aplikacji i możemy używać Car komponentu tak, jakby został tutaj utworzony.

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

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


Sprawdź się za pomocą ćwiczeń

Ćwiczenie:

Nazwij następujący komponent React „osoba”.

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