React -projekt open source
- Stworzony przez Facebooka w 2013 roku.
- Możesz korzystać w swoich projektach.
- Wielka społeczność i mnóstwo komercyjnych projektów.
- Wersja 16.6 -cały czas rozwijana technologia.
Biblioteka JavaScript
React to biblioteka JavaScript do budowania interfejsów użytkownika, czyli tej części aplikacji, którą użytkownik widzi i za pomocą której komunikuje się (wchodzi w interakcję) z aplikacją.
Interfejs użytkownika
Możesz potraktować interfejs szerzej, jako stronę internetową (wyświetlaną w przeglądarce, bez backendu) Do stworzenia takiego interfejsu możesz też więc wykorzystać HTML, CSS, czysty JS oraz JQ. Jednak za pomocą React możesz zrobić to inaczej.
Dynamiczny i interaktywny UI (User Interface)
React służy przede wszystkim do tworzenia dynamicznych i interaktywnych (reaktywnych) interfejsów (aplikacji/stron internetowych).
Jego głównym celem nie jest tworzenie landing page czy statycznych stron internetowych składających się z kilku podstron (choć nic nie stoi na przeszkodzie, by je zrobić). React to przede wszystkim Single Page Application(dynamiczne zmiany wywołane przez zmianę stanu, interakcję z użytkownikiem, bez przeładowywania strony (jeden plik HTML).
Architerktura React -komponenty
Interfejs zbudowany za pomocą React składa się z komponentów.
Komponenty tworzą strukturę i logikę interfejsu.
Aplikacja jako metafora mieszkania. Są drzwi (komponent drzwi), są meble (różne komponenty, przede wszystkim struktura, bez zachowań), są pokoje (komponenty nadrzędne względem mebli i urządzeń), jest światło (jak włączmy światło, to w całym pokoju zrobi się jasno, zmiana stanu w komponencie, włącznik wpłynie na komponent pokój). Mieszkanie składa się z wielu komponentów, podobnie jak aplikacja. Jeden komponent może zmienić stan i strukturę w innym komponencie. Do mieszkania można dodawać nowe rzeczy, np. klimatyzacja (po włączeniu zmienia się stan w pokoju, np. temperatura, zużycie prądu). Czyli akcja w jednym komponencie może wpływać na inne komponenty
Komponent
- Interfejs użytkownika (widok) tworzą w React komponenty.
- Komponent powinien być mały, elastyczny (edytowalny).
- Komponent powinien mieć swoje znaczenie (struktura, czasami także logika).
- Przykłady komponentu: przycisk, input, header, tytuł w artykule, avatar, pozycja menu (i samo menu jako komponent nadrzędny).
Lista programów do zainstalowania – tworzymy środowisko
Lista programów do zainstalowania – React IDE
- Visual Studio Code
- Live Server
Zmiana preferencji: file -> preferences -> settings i zaznacz check-box
-
- CLI – wiersz poleceń lub cmd
- Node.js
- do zainstalowania npx create-react-app my-app
- React Developer Tools
- JSON Viewer
Lista programów do zainstalowania – react.js
Plik index.html
<!DOCTYPE html> <html lang="pl"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Example</title> </head> <body> <div id="root"> <!-- kontener na aplikację react --> </div> <script crossorigin src="https://unpkg.com/react@16/umd/react.production.min.js"></script> <script crossorigin src="https://unpkg.com/react-dom@16/umd/react-dom.production.min.js"></script> <script src="https://unpkg.com/@babel/standalone/babel.min.js"></script> <script type="text/babel" src="App.js"></script> </body> </html>
Plik App.js
class App extends React.Component { state = { counter: 0 } render() { return ( <div> <h1>Hello!</h1> </div> ); } } ReactDOM.render(<App />, document.getElementById('root'))