Skip to content
Skip to content
Menu
Info Cafe
Info Cafe

Komponenty React

By admin on 3 lutego, 2021

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

Komponenty React

Komponenty są niezależnymi i wielokrotnego użytku bitami kodu.Służą do tego samego celu co funkcje JavaScript, ale działają w izolacji i zwracają HTML poprzez funkcję render().

Komponenty występują w dwóch typach, komponenty klasy i komponenty funkcji, w tym tutorialu skupimy się na komponentach klasy.

Tworzenie komponentu klasy

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

Komponent musi zawierać deklarację extends React.Component, ta deklaracja tworzy dziedziczenie do React.Component, i daje Twojemu komponentowi dostęp do funkcji React.Component.

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

Przykład

Utwórz komponent klasy o nazwie Car

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

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

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

Przykład

Wyświetl komponent Car w elemencie „root”:

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

Run Example”

Utwórz komponent Function

Tutaj znajduje się ten sam przykład co powyżej, ale utworzony przy użyciu komponentu Function zamiast.

Komponent funkcyjny również zwraca HTML i zachowuje się podobnie jak komponent klasowy, ale komponenty klasowe mają pewne dodatki i będą preferowane w tym poradniku.

Przykład

Utwórz komponent Function o nazwie Car

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

Po raz kolejny twoja aplikacja React ma komponent Car.

Odwołaj się do komponentu Car jak do normalnego HTML (z wyjątkiem React, komponenty muszą zaczynać się od dużej litery):

Przykład

Wyświetl komponent Car w elemencie „root”:

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

Run Example”

Konstruktor komponentu

Jeśli w twoim komponencie znajduje się funkcja constructor(), funkcja ta zostanie wywołana, gdy komponent zostanie zainicjowany.

Funkcja konstruktora to miejsce, w którym inicjujesz właściwości komponentu.

W React właściwości komponentu powinny być przechowywane w obiekcie o nazwiestate.

Więcej o state dowiesz się w dalszej części tego poradnika.

Funkcja konstruktora jest również miejscem, w którym honorujesz dziedziczenie komponentu nadrzędnego poprzez dołączenie instrukcji super(), która wykonuje funkcję konstruktora komponentu nadrzędnego, a Twój komponent ma dostęp do wszystkich funkcji komponentu nadrzędnego (React.Component).

Przykład

Utwórz funkcję konstruktora w komponencie Car i dodaj właściwość color:

class Car extends React.Component { constructor() { super(); this.state = {color: "red"}; } render() { return <h2>I am a Car!</h2>; }}

Użyj właściwości color w funkcji render():

Przykład

class Car extends React.Component { constructor() { super(); this.state = {color: "red"}; } render() { return <h2>I am a {this.state.color} Car!</h2>; }}

Przykład renderowania”

Props

Innym sposobem obsługi właściwości komponentów jest użycie props.

Propy są jak argumenty funkcji, a Ty przesyłasz je do komponentu jako atrybuty.

Więcej o props dowiesz się w następnym rozdziale.

Przykład

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

class Car extends React.Component { render() { return <h2>I am a {this.props.color} Car!</h2>; }}ReactDOM.render(<Car color="red"/>, document.getElementById('root'));

Przykład działania”

Komponenty w komponentach

Możemy odwoływać się do komponentów wewnątrz innych komponentów:

Przykład

Użyj komponentu Car wewnątrz komponentu Garage:

class Car extends React.Component { render() { return <h2>I am a Car!</h2>; }}class Garage extends React.Component { render() { return ( <div> <h1>Who lives in my Garage?</h1> <Car /> </div> ); }}ReactDOM.render(<Garage />, document.getElementById('root'));

Przykład działania”

Komponenty w plikach

React polega na ponownym wykorzystaniu kodu, a mądrym rozwiązaniem może być umieszczenie niektórych komponentów w oddzielnych plikach.

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

Zauważ, że plik musi zaczynać się od importu Reacta (tak jak poprzednio) i musi kończyć się stwierdzeniem export default Car;.

Przykład

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

import React from 'react';import ReactDOM from 'react-dom';class Car extends React.Component { render() { return <h2>Hi, I am a Car!</h2>; }}export default Car;

Aby móc korzystać z komponentu Car, należy zaimportować ten plik w swojej aplikacji.

Przykład

Teraz importujemy plik „App.js” w aplikacji i możemy korzystać z komponentu Car, tak jakby został on utworzony tutaj.

import React from 'react';import ReactDOM from 'react-dom';import Car from './App.js';ReactDOM.render(<Car />, document.getElementById('root'));

Przykład działania”

Zobacz wpisy

Wiek weganizmu: Wegańskie statystyki zdrowotne na rok 2020
Planet Fitness to nie siłownia

Dodaj komentarz Anuluj pisanie odpowiedzi

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Najnowsze wpisy

  • Firebush (Polski)
  • Prognoza stawek CD na 2021 rok: Stopy procentowe prawdopodobnie pozostaną na niskim poziomie, ale mogą wzrosnąć w dalszej części roku
  • Jak ustrukturyzować dokumentację systemu zarządzania jakością
  • Zdrowe Gry i Zajęcia dla Dzieci | UIC Online Informatics
  • Wheat Ales (American) (Polski)
  • Korzyści z karmienia piersią po roku
  • Czy bezpiecznie jest wrzucać fusy z kawy do zlewu | Atomic Plumbing
  • Cool-Down After Your Workout (Polski)
  • Nasza praca
  • Najlepsza ręczna maszyna do szycia do kupienia: 2020

Meta

  • Zaloguj się
  • Kanał wpisów
  • Kanał komentarzy
  • WordPress.org

Archiwa

  • Marzec 2021
  • Luty 2021
  • Styczeń 2021
  • Grudzień 2020
  • DeutschDeutsch
  • NederlandsNederlands
  • EspañolEspañol
  • FrançaisFrançais
  • PortuguêsPortuguês
  • ItalianoItaliano
  • PolskiPolski
  • 日本語日本語
©2021 Info Cafe | WordPress Theme by SuperbThemes.com