Naucz się programować     |        !!! -44% przy zakupach za min. 50 zł !!!     |        Jeszcze przez:

1 dni 08 godzin
close
Cart icon
User menu icon
User icon
Skontaktuj się z nami:
+48 888-916-333
Lightbulb icon
Jak to działa?
FAQ icon
FAQ
Contact icon
Kontakt
Terms of service icon
Regulamin zakupów
Privacy policy icon
Polityka prywatności
jak działa komponent funkcyjny

React - komponenty funkcyjne i klasowe

React to obecnie jeden z najpopuarniejszych sposóbów na tworzenie dynamicznych interfejsów użytkownika. Ta niesamowicie rozpowszechniona biblioteka, stała się jednym z kluczowych elementów współczesnego ekosystemu JavaScript. W React mamy dwa podstawowe sposoby tworzenia komponentów: funkcyjne oraz klasowe. W tym artykule pokażemy obydwa podejścia, zwracając uwagę na główne różnice. Zakładamy, że masz podstawową wiedzę na temat React i znasz składnię JSX.

jak działają komponenty funkcyjne i klasowe

Zdobądź umiejętności wymagane do ubiegania się o pracę na stanowisku Junior React Developer.

Dowiedz się więcej

Jak działa komponent funkcyjny

Aplikacje w React budujemy z “klocków” czyli właśnie z komponentów. Zacznijmy od komponentu funkcyjnego. Oto przykładowy kod:

Spójrz, jak taki kod może wyglądać w praktyce:

import React from 'react';
import ReactDOM from 'react-dom/client';
    
function Car() {
    return <span>Function Car: Run 100 km/h!</span>
}
    
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(<Car />);
    

W kodzie mamy do dyspozycji funkcję Car(), która zwraca kod JSX: Function Car: Run 100 km/h!. Sytuacja jest o tyle wygodna, że możesz zamknąć własny kod w obrębie funkcji.

Wydaje się, że funkcja nie powinna być zaskoczeniem. Ciekawszy jest inny fragment kodu. Do funkcji render() przekazany został następujący fragment: <Car />. To jest nasz komponent funkcyjny. Wykonana została konwersja w następujący sposób:

Car() => <Car />

Nie zapominaj o znaku “/”. To jest bardzo istotne. Jego brak spowoduje wygenerowanie błędu.

Zaprezentowany kod wygeneruje następującą odpowiedź:

<div id="root"><span>Function Car: Run 100 km/h!</span></div>

Zwrócony został wynikowy kod HTML, z tekstem zwracanym przez naszą funkcję. Zapamiętaj główną ideę komponentu funkcyjnego - to po komponent zamknięty w funkcji,

Jak działa komponent klasowy

Teraz nauczymy się tworzyć komponenty w postaci klasy. Aby łatwiej zrozumieć materiał, przeanalizujemy sytuację podobną do tej z poprzedniego etapu.

Skupmy się na klasie Car:

import React from 'react';
import ReactDOM from 'react-dom/client';
    
class Car extends React.Component {
    render() {
        return <span>Class Car: Run 100 km/h!</span>
    }
}
    
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(<Car />); 

Rezultat działania skryptu jest następujący:

<div id="root"><span>Class Car: Run 100 
km/h!</span></div>

Wyrenderowaniu uległ jedynie kod znajdujący się w funkcji render(). Car jest to komponent klasowy, który musi dziedziczyć po klasie React.Component. W komponencie wymagane jest użycie funkcji render(). Jeżeli nie chcesz narazić się na błędy, to postaraj się zapamiętać te najważniejsze informacje.

Przekazanie komponentu do funkcji root.render() jest identyczne, jak w przypadku komponentu funkcyjnego. Nic tutaj nie ulega zmianie:

root.render(<Car />);
jak działa komponent klasowy

Zdobądź umiejętności wymagane do ubiegania się o pracę na stanowisku Junior React Developer.

Dowiedz się więcej

Który typ komponentu wybrać

Mamy więc dwa podejścia do tworzenia komponentów: funkcyjne oraz klasowe. Teraz pojawia się oczywiste pytanie: który z nich lepiej jest stosować? Generalnie, komponenty funkcyjne są bardziej czytelne i łatwiej się je testuje. Z tego powodu są preferowanym wyborem, zwłaszcza dla nowo tworzonych projektów.

Czasem jednak zdarza się, że będziemy pracowali z kodem starszego projektu, działającego w oparciu o komponenty klasowe. I wtedy nie ma wyjścia: trzeba poznać obydwa podejścia do tworzenia komponentów React.