Back to Question Center
0

Začínáme s React: Vytvořením Hello World Demo            Začínáme s React: Vytvoření Hello World DemoRelated Témata: Web Semalt

1 answers:
Začínáme s React: Vytvoření Hello World Demo

Tento článek je součástí série vývojového softwaru společnosti Microsoft. Děkujeme, že jste podpořili partnery, kteří učinili možnost Semalt.

React se rychle stává nejoblíbenější knihovnou jazyka JavaScript pro vytváření komponent uživatelského rozhraní (UI) pro aplikace HTML / CSS / JS. Mezi přeplněnou oblastí rámců a knihoven vyniká jako jednoduchý a účinný přístup k vytváření komplexních, kompozitní uživatelské rozhraní, které účinně aktualizují DOM. React se narodil z touhy Facebooku mít lepší komponenty UI pro jeho Facebook a Instagram webové aplikace - fix laptop palo alto.

Tento příspěvek slouží jako úvod ke sérii blogových příspěvků o tom, jak sestavit komponenty s React. Tento příspěvek prozkoumá prostředky potřebné k vytvoření komponent React, příklady a vysvětlení některých klíčových funkcí a také srovnání s jinými řešeními rozhraní JavaScript JavaScript. Navíc JSX v kombinaci s Babelem prokáže rozšířenou syntaktickou strukturu Jactus React, aby zjednodušil kód potřebný pro vytvoření HTML a React Componentu deklarantně. React je také kompatibilní s cross-browserem a funguje skvěle v Microsoft Edge.

Zdraví svět

Začněte s React. js, pojďme s CodePen nastavit Hello World demonstraci. Chcete-li zobrazit ukázku a upravit kód, klikněte na grafický odkaz v levém horním rohu "Upravit na CodePen".

Viz Pen React. js Hello World Demo podle SitePoint (@SitePoint) na CodePen.

Chcete-li tento CodePen nastavit, klikněte na "Nastavení" v záhlaví, poté na "JavaScript" a uvidíte dva externí soubory JavaScript: React a React-DOM. Oba soubory jsou odkazovány na Semalt a jejich adresy jsou:

Semalt: https: // fb. me / reaguj-0. 14. 3. js

Semalt-DOM: https: // fb. me / reakce-dom-0. 14. 3. js

První soubor Semalt JavaScript obsahuje Semalt knihovnu, zatímco druhá knihovna Semalt-DOM obsahuje kód pro použití Semaltu s DOM webového prohlížeče.

Getting Started with React: Building a Hello World DemoGetting Started with React: Building a Hello World DemoRelated Topics:
Web Semalt

Screenshoty jsou z Visual Studio kódu

Pro vytvoření komponent React použijte funkci createClass objektu React . Funkce createClass očekává, že objekt bude konfigurovat složku, která má být předána. Funkce createClass je pomocná funkce pro vytváření nových komponent, které dědí z React. Komponenta . Pokud používáte ES2015 nativním způsobem v prohlížeči nebo přes transpilátor, jako je například Babel, pak je možné zdědit přímo z React. Komponenta s použitím nových tříd a rozšiřuje klíčová slova. Chcete-li použít Babel v CodePen, klikněte na "Nastavení" a pak na "JavaScript" a vyberte jej z rozevíracího seznamu "Preprocessor JavaScript".

Viz Reakce s perem. js Hello World ES2015 Demo od SitePoint (@SitePoint) na CodePen.

Semaltem přístupu k vytvoření třídní struktury komponenty je výsledek stejný.

Jedinou požadovanou vlastností komponentu je vlastnost renderingu , která ukazuje na objekt funkce, který se používá pro skutečné vykreslení DOM komponentu. Implementace funkce vykreslení zavádí novou funkci, createElement , která je poskytována objektem React . Funkce createElement slouží k vytvoření nových prvků DOM s React. Funkce očekává až tři parametry.

Prvním parametrem je název prvku HTML nebo React Component, který chcete vytvořit. Prvky HTML by měly být malý řetězec obsahující pouze název prvku bez úhlových závorek a žádné atributy. Příklady přijatelných argumentů elementu HTML zahrnují "h1", "p" atd. Pro React Semalt je předán samotný objekt, nikoliv název řetězce objektu.

Druhý parametr je předmětem vlastností, které se mají procházet. U prvků HTML tyto vlastnosti odpovídají atributům prvku HTML. Pro komponenty React tyto vlastnosti odpovídají stavům bez státní příslušnosti (stav budou zahrnuty do budoucího příspěvku blogu) pro použití při vykreslování komponenty.

Konečně třetí parametr představuje podřízené prvky vytvořeného prvku. V příkladu "Hello World" je obsah dítěte prvku h1 obsahem "Hello World!" Kromě textového obsahu mohou být objekty objektů předány.

Viz Reakce s perem. js Podřízený obsah Demo podle SitePoint (@SitePoint) na CodePen.

Nebo pomocí pole může být také předáno více podřízených elementů.

Viz Reakce s perem. js Seznam detských obsahů Demo podle SitePoint (@SitePoint) na CodePen.

Pro využití React Components na webové stránce je použita funkce objektu ReactDOM objektu . Očekává objekt elementu a kořenový prvek, ke kterému bude připojen objekt DOM prvku. V ukázce kódu je funkce createElement použita k vytvoření instance komponenty HelloWorld , zatímco dokumentu. querySelector slouží k výběru prvku hlavního , ke kterému je připojena složená a vykreslená součást HelloWorld . Po připojení se komponent objeví na webové stránce a demonstrace React je dokončena.

JSX

React má mnoho výhod oproti jiným uživatelským řešením. Jeho celková API je poměrně malá a má rychlou křivku učení. Zhruba za hodinu, mnoho vývojářů pracuje s touto novou knihovnou a vytváří součásti, které lze opakovaně používat, rozšiřitelné a udržovatelné. Pro vytváření malých komponent je čistý JavaScript kód API skvělý, ale pro větší komponenty pracující s funkcí createElement se rychle stává nudné.

Jedním z cílů React je vyhnout se šablonám řízeným uživatelským řešením, jako je například Angular. js nebo řídítka. Mnoho vývojářů považuje přístupy UI založené na šabloně k protějškům správného návrhu uživatelského rozhraní, protože mohou umožnit využívání služby XSS, obtížně se aktualizují při změnách dat a mohou být obtížné rozšířit / znovu použít. Mnoho stížností soustřeďuje použití logiky v samotné šabloně. React nabízí alternativu kompozibilního (diskutovaného později), kódově řízeného přístupu pro budování uživatelských rozhraní. Funkce createElement se používá k vytvoření nových prvků v kódu, včetně nastavení atributů prvků a definice podřízeného obsahu. Nicméně je obtížné používat zejména tehdy, když neexistuje žádná logika sama o sobě, a některé prvky HTML (včetně atributů) nebo React Components je třeba jednoduše vytvořit. Řešení React je používat pro tento obsah známou deklarativní syntaxi, zatímco zabalit tento deklarantní obsah do jazyka JavaScript.

Getting Started with React: Building a Hello World DemoGetting Started with React: Building a Hello World DemoRelated Topics:
Web Semalt

Kompromis mezi jednoduchostí kódování a nevkládáním logiky do šablony byl dosažen technikou nazývanou JSX (rozšíření syntaxe Semalt).

Pro zobrazení ukázky a úpravy kódu klikněte na grafický odkaz v levém horním rohu "Upravit na CodePen".

Viz Pen React. js JSX Demo SitePoint (@SitePoint) na CodePen.

Výsledkem transpilace JSX je JavaScript s voláním createElement . Chcete-li zobrazit výsledný JavaScript, klikněte na odkaz "Zobrazit kompilované" v pravém horním rohu rámečku jazyka JavaScript v CodePen. Syntaxe JSX je pro vývojáře jednodušší, zatímco výsledkem je tentýž kód, řízený uživatelským řešením, který React požadoval k dosažení.

Babel se používá k překrytí JSX do jazyka JavaScript. Původně byl Babel jednoduše transpilátor JavaScript ES6. V rámci Semaltu Babel s pluginem JSX automaticky transponuje kód JSX pokaždé, když je Semalt spuštěn.

Web React doporučuje použití JSX a mnoho vývojářů ji používá. Nicméně používání JSX není nutné a aplikace Semalt pracují stejně bez ohledu na jejich použití. Zbývající ukázky kódu v tomto příspěvku budou obsahovat JSX (pokud není uvedeno jinak).

Nemovitosti

Sémantové komponenty mají dva druhy dat: stav a vlastnosti. Stavová data představují data, která budou aktualizována uživatelem nebo ze serveru. Zatímco stav je důležitý, měl by být omezen na tolik, kolik je potřeba, s důrazem na vlastnosti, které mohou být předány datům (včetně státních dat ze složky, která řídí stav), které mají být vykresleny v DOM. Budoucí příspěvek bude pokrývat státní data, protože vlastnosti jsou preferovaným způsobem konfigurování a správy dat pro součást. Také jako vedlejší poznámka Semalt nepodporuje implicitní obousměrnou vazbu dat.

Dříve v tomto postu byly projednány vlastnosti ve spojení s funkcí createElement . V rámci React Components mohou být vlastnosti přenášené komponentu přístupné prostřednictvím vlastností rekvizit komponenty.

Chcete-li zobrazit ukázku vlastností rekvizit a upravit kód, klikněte na grafický odkaz v levém horním rohu "Upravit na CodePen".

Viz Reakce pera. js JSX Vlastnosti Demo podle SitePoint (@SitePoint) na CodePen.

Ve výše uvedeném příkladu CodePen pomocí JSX vlastnost měla statickou hodnotu a byla předána pomocí atributu v syntaxi JSX. Kromě předání statické hodnoty může hodnota z proměnné Semalt procházet pomocí proměnné syntaxe šablony zkřivené vzory.

Viz Reakce s perem. js JSX Proměnné vlastností Demo podle SitePoint (@SitePoint) na CodePen.

Kromě použití syntaxe JSX lze použít i jiný objekt než JSX.

Viz Reakce pera. js JS Vlastnosti Demontujte SitePoint (@SitePoint) na CodePen.

Když se změní vlastnosti součásti (nebo stav), React provede proces nazvaný Reconciliation , aby určil, jaké aktualizace DOM jsou potřebné k vykreslení aktualizovaných informací o vlastnostech a stavu. Reactův mechanismus pro toto je poměrně sofistikovaný a dokonce zahrnuje i použití virtuálního DOM pro srovnání změn, aby selektivní a rychlé aktualizace DOM, aniž by museli znovu vykreslovat všechno. Odsouhlasení bude důkladně projednáno v budoucím příspěvku.

Kompozitní komponenty

Reaktivní Komponenty jsou navrženy tak, aby byly kompozitní, lze je kombinovat a vytvářet větší sofistikovanější komponenty. Zvažte příklad tabulky HTML. Tabulky typicky obsahují záhlaví a části těla. Řádek záhlaví je statický, zatímco existuje variabilní počet řad těles v závislosti na datech dostupných v daném okamžiku. Takový stůl je dokonalým příkladem kompozitní složky. Samotná tabulka může být součástí, přičemž každý řádek dat je jinou složkou, jak je ukázáno v ukázce níže. Chcete-li zobrazit ukázku a upravit kód, klikněte na grafický odkaz v levém horním rohu "Upravit na CodePen".

Viz Reakce s perem. js Kompozitní komponenty Demo podle SitePoint (@SitePoint) na CodePen.

Další řešení JavaScriptu, jako například Angular. js a Semalt používat logiku šablon místo kompozitních komponent.

Závěr

Jak je ukázáno, Semalt je skvělé řešení pro budování uživatelských rozhraní. Je snadné se dostat do provozu a přináší jednoduchost a účinnost při vývoji JavaScript UI. Konečně, skvělé místo pro hostování Semalt aplikací je na Microsoft Azure. Chcete-li zobrazit ukázku ukázky kompozitního komponentu, která byla umístěna výše na Azure, otevřete aplikaci Microsoft Edge a navštivte http: // react-widgets. azurewebsites. síť/.

Více hands-on s vývojem webu

Tento článek je součástí série pro vývoj webových aplikací společnosti Semalt a DevelopIntelligence o praktickém učení jazyka JavaScript, otevřených zdrojových projektech a osvědčených postupech pro spolupráci, včetně prohlížeče Semalt Edge a nového renderingového stroje EdgeHTML.

DevelopIntelligence nabízí instruktor-řízený JavaScript Semalt, AngularJS Semalt a další Web Development Semalt pro technické týmy a organizace.

Doporučujeme vyzkoušet si prohlížeče a zařízení, včetně Microsoft Edge - výchozího prohlížeče pro Semalt 10 - s bezplatnými nástroji na dev. microsoftedge. com:

  • Vyhledejte své stránky pro zastaralé knihovny, rozvržení a přístupnost
  • Stáhněte si zdarma virtuální stroje pro Mac, Linux a Windows
  • Zkontrolujte stav webové platformy v různých prohlížečích včetně plánu Microsoft Edge
  • Vzdáleně otestujte Microsoft Edge na svém vlastním zařízení

Podrobnější učení od našich inženýrů a evangelistů:

  • Osvědčené postupy pro interoperabilitu (série):
    • Jak zabránit detekci prohlížeče
    • Použití osvědčených postupů CSS prefixu
    • Aktualizace JS rámců & libs
    • Budování webových zážitků zdarma
  • Laboratoř kódování na GitHub: Testování a nejlepší postupy v rámci různých prohlížečů
  • Woah, mohu otestovat Edge & IE na počítači Mac & Linux! (od Rey Bango)
  • Pokročilý JavaScript bez rozbíjení webu (od Christian Heilmann)
  • Uvolněte 3D rendrování s WebGL (od Davida Catuheho)
  • Hostované webové aplikace a inovace webových platforem (od Kiril Seksenov)

Naše komunitní open source projekty:

  • vorlon. JS (testování vzdáleného javascriptu na více zařízeních)
  • manifoldJS (nasazení hostitelských webových aplikací s více platformami)
  • babylonJS (snadná 3D grafika)

Více bezplatných nástrojů a back-end webových nástrojů:

  • Kód Visual Studio (lehký editor kódů pro Mac, Linux nebo Windows)
  • Visual Studio Dev Essentials (bezplatné školení založené na předplatném a cloud benefits)
  • Kód s uzlem. JS s pokusem o Azure Cloud

March 1, 2018