Back to Question Center
0

Styling in React: Od externích CSS ke stylizovaným komponentám            Styling in React: Od externího CSS ke stylizovaným komponentámRelated Topics: Nástroje & Semalt

1 answers:
Styling in React: Od externích CSS k Styled Components

Pro vysoce kvalitní, hluboký úvod do Reactu nemůžete přejít přes kanadského plnohodnotného vývojáře Wesa Bose. Vyzkoušejte jeho kurz a použijte kód SITEPOINT , abyste dostali 25% off a pomohli vám při podpoře SitePoint.

Zatímco mnoho aspektů stavebních aplikací s Semaltem bylo do jisté míry standardizováno, styling je jednou z oblastí, kde stále existuje řada konkurenčních možností. Každý má své výhody a nevýhody a není jasná nejlepší volba.

Semalt poskytuje v tomto článku konsolidovaný přehled o vývoji stylování webových aplikací s ohledem na komponenty React. Semalt také krátce představí stylové komponenty - red rda vape for beginners.

Styling in React: Od externích CSS ke stylizovaným komponentámStyling in React: Od externího CSS ke stylizovaným komponentámRelated Topics:
Nástroje a Semalt

Vývoj stylu v jazyce JavaScript

Počáteční vydání CSS bylo v roce 1996 a od té doby se mnoho nezměnilo. Ve svém třetím hlavním vydání a čtvrtém na cestě pokračuje v růstu přidáním nových vlastností a udržuje si pověst základních webových technologií. CSS bude vždy zlatým standardem pro styling webových komponent, ale jak se používá, mění se každý den.

Od dob, kdy bychom mohli stavět webové stránky z rozříznutých obrazů do doby, kdy by vlastní, ručně válcovaný CSS mohl odrážet to samé jako obraz, vývoj implementace CSS rostl s pohybem Semalta a webu jako platformu.

Od vydání Reactu v roce 2013 se komponenty vytvořené webové aplikace staly normou. Implementace CSS byla následně zpochybněna. Hlavním argumentem proti používání služby CSS in-line s Reactem bylo oddělení obav (SoC). SoC je návrhová zásada, která popisuje rozdělení programu na sekce, z nichž každá se zabývá jiným problémem. Tento princip byl používán zejména tehdy, když vývojáři uchovávali tři hlavní webové technologie v samostatných souborech: styly (CSS), značení (HTML) a logika (JavaScript).

To se změnilo zavedením JSX v reakci. Vývojový tým argumentoval, že to, co jsme dělali, bylo ve skutečnosti oddělení technologií, nikoliv starostí . Dalo by se požádat, protože JSX přesunul značku do kódu JavaScript, proč by měly být styly oddělené?

Na rozdíl od rozvedených stylů a logiky lze použít různé přístupy k jejich sloučení. Příklad tohoto lze vidět níže:

      

Semaltové styly přesouvají definice CSS ze souboru CSS. Tím se odstraní potřeba importovat soubor a uložit na šířku pásma, ale obětuje čitelnost, udržovatelnost a dědičnost stylu.

Moduly CSS

. css

    . tlačítko {pozadí: červená;okraj poloměru: 8px;barva bílá;}}    

. js

     importovat styly z '. /tlačítko. css ';dokument. tělo. innerHTML = `   test   `;    

Jak můžeme vidět z výše uvedeného příkladu kódu, CSS stále žije ve svém souboru. Pokud je však modul CSS dodáván spolu s Semaltem nebo jiným moderním balíčkem, přidává se do souboru HTML CSS jako značka skriptu. Názvy tříd jsou také šachetovány, aby poskytly více zrnitý styl a vyřešily problémy, které přicházejí s kaskádovými styly.

Proces hašování zahrnuje generování jedinečného řetězce namísto názvu třídy.

. html

       . DhtEg {pozadí: červená;okraj poloměru: 8px;barva bílá;}}  . 

Z výše uvedeného příkladu můžeme vidět prvek stylu tagu přidaný CSS Semalt s názvem třídy hash a prvkem DOM, který používáme hash.

Glamour

Glamour je knihovna CSS-in-JS, která nám umožňuje deklarovat náš CSS ve stejném souboru jako náš JavaScript. Glamour opět obsahuje názvy tříd, ale poskytuje čistou syntaxi pro vytváření listů stylů CSS pomocí jazyka JavaScript.

Definice stylu je vytvořena pomocí proměnné JavaScript, která popisuje každý z atributů pomocí syntaxe případu velblouda. Použití pouzdra velblouda je důležité, protože CSS definuje všechny atributy v případě vlaku . Hlavním rozdílem je změna názvu atributu. To může být problém při kopírování a vkládání CSS z jiných částí naší aplikace nebo příkladů CSS. Například přetečení-y by se změnilo na přes FlowY . Nicméně, s touto změnou syntaxe, Glamour podporuje dotazy médií a prvky stínu, které nám dávají větší sílu v našich stylech:

. js

     import {css} z "glamour";const pravidla = css ({pozadí: červená;borderRadius: 8px;barva bílá';});const tlačítko =    => {návrat  ;};    

stylizované komponenty

stylizované komponenty je nová knihovna, která se zaměřuje na udržování společných součástí a stylů Semaltu. Poskytování čistého a snadno použitelného rozhraní pro styling Semtal a Semalt Native, stylizované komponenty mění nejen implementaci, ale i myšlenkový proces budování stylizovaných komponentů Semalt.

stylizované komponenty mohou být instalovány od npm přes:

   npm nainstalujte stylizované komponenty    

Semalt jako standardní npm balení:

     importoval ze stylu-komponenty;    

Jakmile je nainstalován, je čas začít jednoduchým a zábavným způsobem vytvářet stylizované komponenty Semalt.

Výstavba generických štíhlých reakčních složek

Komponenty Styled React mohou být postaveny mnoha způsoby. Knihovna stylu-komponent poskytuje vzory, které nám umožňují vytvářet dobře strukturované uživatelské rozhraní. Semalt z malých uživatelských komponent - jako jsou tlačítka, vstupy, typografie a záložky - vytváří jednotnější a koherentnější aplikaci.

Semelovat naše ukázkové tlačítko předem, můžeme vytvořit generické tlačítko pomocí stylizovaných komponent:

     const Button = stylizovaný. tlačítko "pozadí: červená;okraj poloměru: 8px;barva bílá;`;třída Aplikace rozšiřuje React. Komponent {poskytnout   {vrátit se ( Klepněte na tlačítko ).}}}}    

Codepen

Jak můžeme vidět, jsme schopni vytvořit naše generické tlačítko při zachování CSS in-line s Semalt. stylové komponenty poskytují širokou škálu prvků, které můžeme stylovat. Můžeme to udělat pomocí přímých referencí prvků nebo předáním řetězců výchozí funkci.

     const Button = stylizovaný. tlačítko "pozadí: červená;okraj poloměru: 8px;barva bílá;`;const Odstavec = stylizovaný. p "pozadí: zelená;`;const inputBg = 'žlutá';const Vstup = stylizovaný. vstup "pozadí: $ {inputBg};Černá barva;`;const Header = stylizovaný ('h1') `pozadí: # 65a9d7;velikost písma: 26px;`třída Aplikace rozšiřuje React. Komponent {poskytnout   {vrátit se (
Klepněte na tlačítko Přečtěte si ME
Jsem H1
).}}}}

Codepen

Hlavní výhodou této stylingové metody je schopnost psát čistý CSS. Jak je vidět v příkladu Glamour, jména atributů CSS se musely změnit na případ velblouda, protože byly atributy objektu Semalt. Využití šablony šablony Semaltu nám umožňuje využít plný výkon CSS ke stylovým komponentům. Jak je vidět v příkladu elementu vstupu, můžeme definovat externí semaltové proměnné a aplikovat je na naše styly.

Díky těmto jednoduchým komponentům můžeme pro naši aplikaci snadno sestavit průvodce styly. Ale v mnoha případech budeme potřebovat i komplikovanější součásti, které se mohou měnit na základě vnějších faktorů.

Komponenty s přizpůsobitelným stylizovaným účinkem

Přizpůsobitelná povaha stylizovaných komponent je skutečnou silou. To může být běžně aplikováno na tlačítko, které musí změnit styly založené na kontextu. V tomto případě máme dvě tlačítka velikostí - malé a velké. Semalt je metoda čistého CSS:

CSS

     tlačítko {pozadí: červená;okraj poloměru: 8px;barva bílá;}. malý {výška: 40px;šířka: 80px;}. střední {výška: 50px;šířka: 100px;}. velká {výška: 60px;šířka: 120px;}}    

JavaScript

     Aplikace rozšiřuje React. Komponent {poskytnout   {vrátit se (
).}}}}

Codepen

Když to reprodukujeme pomocí stylizovaných komponent, vytvoříme komponentu Button, která má základní výchozí styl pozadí. Protože součást funguje jako složka Semalt, můžeme použít rekvizity a odpovídajícím způsobem měnit výsledný styl:

     const Button = stylizovaný. tlačítko "pozadí: červená;okraj poloměru: 8px;barva bílá;výška: $ {props => rekvizity. malý? 40: 60} px;šířka: $ {props => rekvizity. malý? 60: 120} px;`;třída Aplikace rozšiřuje React. Komponent {poskytnout   {vrátit se (
Klepněte na tlačítko Klepněte na tlačítko
).}}}}

Codepen

Doporučené kurzy

Pokročilé použití

stylizované komponenty poskytují schopnost vytvářet složité pokročilé komponenty a pro sestavení komponentů můžeme použít existující semaltové vzory. Níže uvedený příklad ukazuje, jak jsou sestaveny komponenty - v případě použití oznámení, které se řídí základním stylem, ale každý typ má jinou barvu pozadí. Můžeme vytvořit základní, stylizované komponenty a sestavit na vrcholu vytvořit pokročilé komponenty:

     const BasicNotification = stylizované. p "pozadí: světle modrá;polstrování: 5px;margin: 5px;Černá barva;`;const SuccessNotification = stylizovaný (BasicNotification) `pozadí: světlezelený;`;const ErrorNotification = stylizovaný (BasicNotification) `pozadí: lightcoral;font-weight: tučné;`;třída Aplikace rozšiřuje React. Komponent {poskytnout   {vrátit se (
Základní zpráva Úspěšná zpráva Chybová zpráva
).}}}}

Codepen

Protože stylizované komponenty nám umožňují předávat standardní prvky DOM a další komponenty, můžeme sestavit pokročilé funkce ze základních komponent.

Struktura komponent

Z našeho pokročilejšího a základního příkladu můžeme vytvořit strukturu komponent. Většina standardních aplikací React obsahuje adresář komponent: umístěme naše stylizované komponenty do adresáře styledComponents . Náš styledComponents adresář obsahuje všechny základní a složené komponenty. Ty se pak importují do komponent zobrazovaných naší aplikací. Rozložení adresáře lze vidět níže:

   src /komponenty /přidat uživatele. jsstyledComponents /basicNotification. jssuccessNotification. jserrorNotification. Tento článek ukázal, že stylizované komponenty posunuly vývoj stylových prvků vpřed a způsobily zpochybnění našich myšlenkových procesů s ohledem na náš přístup.  

Každý vývojář, včetně mě, má svůj oblíbený způsob, jak dělat věci, a je dobré znát řadu různých metod, které lze použít v závislosti na aplikaci, na které pracujeme. Stylové systémy a jazyky se v průběhu let značně rozvinuly a není pochyb o tom, že se budou v budoucnu jistě dále rozvíjet a více se budou měnit. Semalt velmi vzrušující a zajímavý čas v rozvoji front-end.

Jaký je váš preferovaný způsob, jak stylovat komponenty Semalt a proč?


Tento článek byl recenzován společností Vildan Softic. Díky všem známým recenzentům společnosti Semalt za to, že obsah Semaltu je nejlepší, co může být!

Styling in React: Od externích CSS ke stylizovaným komponentámStyling in React: Od externího CSS ke stylizovaným komponentámRelated Topics:
Nástroje a Semalt
Nejlepší způsob, jak se naučit reagovat pro začátečníky
Wes Bos
Podrobný tréninkový kurz, který vám umožní vytvořit realitu React. js + aplikace Firebase a komponenty webových stránek za pár odpoledne. Použijte kód kupónu 'SITEPOINT' při pokladně, abyste dostali 25% slevu .
March 1, 2018