_ _ _ _____ ___ __ __ _(_) | _(_)___ / ( _ ) / /_ ___ ___ _ __ ___ \ \ /\ / / | |/ / | |_ \ / _ \| '_ \ / __/ _ \| '_ ` _ \ \ V V /| | <| |___) | (_) | (_) | (_| (_) | | | | | | \_/\_/ |_|_|\_\_|____/ \___/ \___(_)___\___/|_| |_| |_|
Autor | Jordan Walke |
---|---|
Pierwsze wydanie | 1 marca 2013; ponad 11 lat temu |
Aktualna wersja stabilna | 18.3.1 / 26 kwietnia 2024; ponad 5 miesięcy temu |
Język programowania | JavaScript |
Platforma sprzętowa | Wieloplatformowy |
Licencja | MIT |
Strona internetowa |
React.js (inne nazwy: React, ReactJS) – biblioteka języka programowania JavaScript, która wykorzystywana jest do tworzenia interfejsów graficznych aplikacji internetowych. Została stworzona przez Jordana Walke, programistę Facebooka, a zainspirowana przez rozszerzenie języka PHP – XHP. Często wykorzystywana do tworzenia aplikacji typu Single Page Application.
Z głównych cech wyróżniających bibliotekę React.js jest wirtualny DOM. React przechowuje cały DOM aplikacji w pamięci, po zmianie stanu wyszukuje różnice między wirtualnym i prawdziwym DOM i aktualizuje zmiany. Drugą z cech szczególnych React jest język JSX. Jest on nakładką na JavaScript, która dodaje możliwość wstawiania kodu HTML (lub komponentów React) bezpośrednio w kodzie, zamiast ciągu znaków.
React.js jest obecnie używany na stronach internetowych firm takich jak Netflix, Imgur, PayPal, Archive.org, Gamepedia , SeatGeek , HelloSign czy Walmart. W 2015 roku React.js i React Native były dwoma najpopularniejszymi otwartymi projektami na stronie GitHub.
Biblioteka React jest wykorzystywana przez framework Next.js .
React.js od października 2014 do września 2017 był dostępny na 3-klauzulowej licencji BSD z tzw. wyjątkiem patentowym dodanym przez Facebooka. Wyjątek miał chronić Facebooka przed pozwami związanymi z naruszeniem patentów, ale dawał prawo Facebookowi zerwania licencji w każdej chwili. Wyjątek wzbudzał kontrowersje jako ograniczający dostęp do biblioteki poprzez niejasne zapisy. Apache Software Foundation (dalej: ASF) wydało oświadczenie, że wyjątek ten jest niezgodny z licencją BSD i powinien zostać usunięty. Jednocześnie ASF zabroniło używania React na ówczesnej licencji we wszystkich projektach wspieranych przez ASF. Facebook jeszcze w sierpniu 2017 odrzucił możliwość zmiany licencji.
We wrześniu 2017 WordPress zapowiedział, że rezygnuje z użycia biblioteki Facebooka w swoich projektach ze względu na kontrowersje licencyjne. Tydzień po tej decyzji Facebook zapowiedział zmianę licencji dla React.js na licencję MIT. Zmiana licencji została zastosowana zarówno dla nowej wersji React.js (16.0), jak i dla poprzedniej (15.x, począwszy od 15.6.2).