Reagál | |
---|---|
Típusú | ingyenes és nyílt forráskódú szoftverek , webes keretrendszer , függvénytár és JavaScript könyvtár |
Szerző | Jordan Walke _ _ |
Fejlesztő | Meta Platforms , Jordan Walke [d] , Sebastian Markbåge [d] , Daniil Abramov [d] , Rachel Nabors [d] és Andrew Clark |
Beírva | JavaScript |
Operációs rendszer | platformközi |
Első kiadás | 2013. május 29 |
legújabb verzió |
|
Állapot | Ide vonatkozó |
Engedély | MIT licenc [2] [3] |
Weboldal |
reactjs.org ( angol) ar.reactjs.org ( Ar) ru.reactjs.org ( orosz) |
A React (néha React.js vagy ReactJS ) egy nyílt forráskódú JavaScript - könyvtár [4] felhasználói felületek fejlesztésére .
A Reactot a Facebook , az Instagram , valamint az egyes fejlesztőkből és vállalatokból álló közösség fejleszti és tartja karban [5] [6] [7] .
A React egyoldalas és mobilalkalmazások fejlesztésére használható. Célja a nagy fejlesztési sebesség, az egyszerűség és a méretezhetőség biztosítása . A felhasználói felületek fejlesztésére szolgáló könyvtárként a React-ot gyakran használják más könyvtárakkal, például a MobX, Redux és GraphQL könyvtárakkal .
A Reactot Jordan Valke, a Facebook szoftvermérnöke készítette. Hatással volt rá az XHP , a PHP komponens alapú HTML keretrendszere [8] . A Reactot először a Facebook hírfolyamában használták 2011-ben, majd az Instagram hírfolyamában 2012 -ben [9] . A React forráskódot 2013 májusában nyitották meg a JSConf US konferencián.
A React Native -t a Facebook "React.js Conf"-ján jelentették be 2015 februárjában , a forráskód pedig 2015 márciusában jelent meg . Lehetővé teszi natív Android , iOS és UWP alkalmazások fejlesztését a React segítségével.
2017. április 18- án a Facebook bejelentette a React Fiber -t, a React [10] újraírt és optimalizált változatát . A React Fiber lesz az alapja az összes jövőbeli funkció és fejlesztés kifejlesztésének [11] .
Az alábbiakban egy példa látható a React használatára HTML-ben JSX-szel és JavaScripttel.
< div id = "myReactApp" ></ div > < script type = "text/babel" > class Greeter kiterjeszti React . Component { render () { return < h1 > { this . kellékek . üdvözlet } < /h1> } } ReactDOM . render ( < Greeter greeting = "Hello World!" /> , document . getElementById ( 'myReactApp' )); </ script >Az osztály Greeter egy React komponens, amely elfogad egy greeting. A metódus ReactDOM.renderaz osztály (összetevő) egy példányát előállítja Greeter, amelynek tulajdonsága greetingegyenlő , és a renderelt komponenst beágyazott elemként "Hello World"beszúrja a DOM elembe az azonosítóval .myReactApp
Amikor megjelenik egy webböngészőben, az eredmény a következő lesz:
< div id = "myReactApp" > < h1 > Hello World! </ h1 > </ div >A tulajdonságok átadódnak a szülőkomponensekről a gyermekkomponensekre. Az összetevők a tulajdonságokat megváltoztathatatlan értékek halmazaként kapják meg , így az összetevő nem módosíthatja közvetlenül a tulajdonságokat, de visszahívási függvényeken keresztül változásokat idézhet elő . Ezt a mechanizmust "tulajdonságok lefelé, események felfelé" nevezik.
A React egy virtuális DOM -ot ( virtuális DOM ) használ . A React létrehoz egy memórián belüli gyorsítótár - struktúrát, amely lehetővé teszi az interfész előző és jelenlegi állapota közötti különbség kiszámítását a böngésző DOM optimális frissítése érdekében. Így a programozó dolgozhat az oldallal, feltételezve, hogy az teljes mértékben frissül, de a könyvtár maga dönti el, hogy az oldal mely összetevőit kell frissíteni.
A React-ot gyakran a Redux -szal együtt használják az összetevők állapotának kezelésére.
A JavaScript XML (JSX) egy JavaScript szintaxis-kiterjesztés, amely lehetővé teszi egy HTML-szerű szintaxis használatát az interfész szerkezetének leírására. Általános szabály, hogy a komponensek JSX-el íródnak, de lehetséges a sima JavaScript használata is [12] . A JSX egy másik nyelvre hasonlít, amelyet a Facebook készített a PHP-bővítményhez, az XHP-t.
Az életciklus-módszerek lehetővé teszik a fejlesztő számára, hogy kódot futtasson az összetevő életciklusának különböző szakaszaiban. Például:
A React nem csak a HTML megjelenítésére szolgál a böngészőben. Például a Facebook dinamikus diagramokkal rendelkezik, amelyek a <canvas>. A Netflix és a PayPal izomorf letöltéseket használ, hogy azonos HTML-t jelenítsen meg a szerveren és a kliensen.
A horgok lehetővé teszik az állapot és egyéb React jellemzők használatát osztályok írása nélkül [13] .
Az egyéni horgok létrehozása lehetővé teszi, hogy a komponens logikáját újrafelhasználható funkciókba helyezze. [14] .
JavaScript | |
---|---|
Ötletek | |
Fordítók | |
Motorok | |
Könyvtárak és keretrendszerek | |
Szerkesztők | |
Eszközök |
|
Kapcsolódó technológiák | |
Emberek | |
Kategória |