Príručky

Čo je React? Jednoduchý sprievodca pre nevývojárov

React je JavaScriptová knižnica na tvorbu používateľského rozhrania — časti aplikácie, ktorú ľudia vidia a klikajú. Obrazovky skladáte z opakovane použiteľných častí zvaných komponenty, napríklad tlačidlo, kartu produktu alebo celú stránku, a React drží obrazovku v súlade s vašimi dátami: keď sa dáta zmenia, React aktualizuje tie časti stránky, ktoré na nich závisia. Vytvorila ho spoločnosť Facebook (dnes Meta), je open source a patrí medzi najpoužívanejšie spôsoby tvorby webových aplikácií.

Prečo na tom záleží, keď budujete s AI

Ak budujete webovú aplikáciu s AI nástrojom, je dobrá šanca, že je napísaná v Reacte. Mnohí tvorcovia aplikácií s AI používajú React predvolene, pretože je populárny, dobre zdokumentovaný a existuje obrovské množstvo kódu v Reacte, z ktorého sa AI modely mohli učiť.

Na tvorbu s AI nepotrebujete písať React. Ale trocha ho poznať vám pomôže:

  • Presne opisovať zmeny. „Zmeň komponent ProductCard tak, aby bola cena tučne“ je jasnejšie než „niekde zvýrazni ceny“.
  • Rozumieť chybám. Hlásenia ako „Cannot read properties of undefined“ alebo „Too many re-renders“ dávajú väčší zmysel.
  • Robiť rozumné voľby. Jednoduché aplikácie v Reacte sa renderujú v prehliadači, čo ovplyvňuje viditeľnosť vo vyhľadávaní a rýchlosť prvého načítania. Keď to viete, pomôže vám rozhodnúť, kedy si pýtať iné nastavenie.
  • Neskôr spolupracovať s vývojármi. React je bežná zručnosť, takže vývojár zvyčajne dokáže prevziať kódovú základňu v Reacte.

Každodenné prirovnanie

Predstavte si LEGO. Namiesto toho, aby ste celý model vyrezali z jedného kusu, zostavíte ho zo štandardných kociek. Pár kociek vytvorí koleso; štyri kolesá a ďalšie diely tvoria auto. Ak chcete, aby mali všetky autá červené kolesá, zmeníte dizajn kolesa len raz.

Komponenty v Reacte sú kocky. Komponent Button sa používa vnútri ProductCard, ten je vnútri ProductGrid a ten je súčasťou ShopPage. Zmeňte Button raz a zmení sa každé tlačidlo v aplikácii.

Druhá polovica prirovnania: predstavte si, že sa LEGO model sám prestavuje zakaždým, keď zmeníte návod. To je ďalší trik Reactu — opíšete, ako má obrazovka vyzerať pre aktuálne dáta, a React zistí, čo na stránke zmeniť.

Základné myšlienky

Komponenty

Komponent je JavaScriptová funkcia, ktorá vracia kúsok rozhrania. Dokumentácia Reactu opisuje komponent ako časť UI, ktorá má vlastnú logiku a vzhľad. Názvy komponentov začínajú veľkým písmenom.

JSX

Komponenty sa zvyčajne píšu v JSX, ktoré vyzerá ako HTML zmiešané s JavaScriptom:

function Greeting() {
  return <h1>Vitajte späť!</h1>;
}

JSX je voliteľné, ale dokumentácia Reactu uvádza, že väčšina projektov ho používa. Pred spustením v prehliadači sa prevedie na čistý JavaScript.

Props

Props sú vstupy, ktoré odovzdáte komponentu, ako nastavenia na opakovane použiteľnej časti:

<ProductCard name="Levanduľová sviečka" price={24} />

Rovnaký ProductCard môže zobraziť ľubovoľný produkt.

Stav

Stav je informácia, ktorú si komponent pamätá a ktorá sa môže meniť počas behu aplikácie — či je ponuka otvorená, čo je napísané vo vyhľadávacom poli, koľko položiek je v košíku. Keď sa stav zmení, React komponent znovu vykreslí, aby obrazovka zodpovedala.

Hooky

Hooky sú funkcie, ktorých názov začína use, napríklad useState (zapamätá si hodnotu) a useEffect (spustí kód po vykreslení, napríklad na načítanie dát). Uvidíte ich všade v kóde Reactu vygenerovanom AI.

Pracovný príklad: počítadlo košíka

Predstavte si, že váš online obchod má tlačidlo „Pridať do košíka“ a ikonu košíka zobrazujúcu počet položiek. V Reacte to približne vyzerá takto:

import { useState } from "react";

function Shop() {
  const [cartCount, setCartCount] = useState(0);

  return (
    <div>
      <CartIcon count={cartCount} />
      <ProductCard
        name="Levanduľová sviečka"
        price={24}
        onAdd={() => setCartCount(cartCount + 1)}
      />
    </div>
  );
}

function CartIcon({ count }) {
  return <span>Košík ({count})</span>;
}

function ProductCard({ name, price, onAdd }) {
  return (
    <div>
      <h2>{name}</h2>
      <p>${price}</p>
      <button onClick={onAdd}>Pridať do košíka</button>
    </div>
  );
}

Čo sa stane, keď nakupujúci klikne na „Pridať do košíka“:

  1. onClick tlačidla zavolá onAdd, ktorá zavolá setCartCount.
  2. React zmení stav cartCount z 0 na 1.
  3. React znovu vykreslí Shop a do CartIcon odovzdá count={1}.
  4. Stránka teraz ukazuje „Košík (1)“. Nikto nenapísal kód typu „nájdi text košíka a zmeň ho“ — obrazovka nasleduje dáta.

Všimnite si aj obmedzenia. Tento počet žije v pamäti prehliadača. Ak stránku obnovíte, vráti sa na 0. Ak chcete uchovať košík, musíte ho uložiť niekam trvalo — do cookie, do úložiska prehliadača alebo do databázy cez váš backend. React spravuje obrazovku; nie je to úložisko vašich dát.

Kde React zapadá do webovej aplikácie

ČasťČo robíBežné voľby
Knižnica UIBuduje rozhranieReact
JazykV čom je kód napísanýJavaScript alebo TypeScript
Build nástrojPremení zdrojový kód na súbory, ktoré prehliadač načíta; spúšťa vývojový serverVite
Framework (voliteľný)Pridáva smerovanie, renderovanie na serveri, načítavanie dátNext.js, React Router
ŠtýlovanieAko to vyzeráTailwind CSS, CSS súbory
BackendObchodná logika, dáta, tajomstváNode.js, Python a ďalšie
DatabázaUkladá dátaPostgres a ďalšie

Aplikácia „Vite + React“ sa renderuje v prehliadači (jednostránková aplikácia). Aplikácia v Next.js môže najprv renderovať stránky na serveri, čo pomáha vyhľadávačom aj rýchlosti prvého načítania.

Vysvetlenie bežných pojmov

PojemVýznam
KomponentOpakovane použiteľná časť rozhrania, napísaná ako funkcia.
JSXSyntax podobná HTML vnútri JavaScriptu, používaná na opis komponentov.
PropsVstupy odovzdané komponentu.
StavDáta, ktoré si komponent pamätá a ktoré sa môžu časom meniť.
HookFunkcia začínajúca na use, ktorá komponentu pridá vlastnosti ako stav.
Render / re-renderReact zisťuje, čo má obrazovka ukazovať, znovu po zmenách.
Jednostránková aplikácia (SPA)Aplikácia, ktorá sa načíta raz a stránku aktualizuje pomocou JavaScriptu namiesto načítania nových stránok.
Renderovanie na serveri (SSR)Vytvorenie HTML stránky na serveri pred jej odoslaním.
npm balíkOpakovane použiteľná knižnica kódu, ktorú môžete nainštalovať, napríklad výber dátumu alebo knižnica grafov.
React NativeSúvisiaci projekt na tvorbu natívnych mobilných aplikácií.

Bežné chyby a mylné predstavy

  • „React je programovací jazyk.“ Je to knižnica napísaná a používaná v JavaScripte (alebo TypeScripte).
  • „React ukladá moje dáta.“ Stav žije v prehliadači a pri obnovení zmizne. Trvalé dáta potrebujú backend a databázu.
  • Vkladanie tajomstiev do kódu Reactu. Všetko v aplikácii React sa posiela do prehliadača návštevníka. API kľúče tam sú verejné. Držte ich na serveri.
  • „Aplikácie v Reacte sa nedajú umiestniť vo vyhľadávaní.“ Renderovanie iba na strane klienta je pre vyhľadávanie slabšie, ale predrenderovanie alebo renderovanie na serveri väčšinu problému vyrieši.
  • Obrovské komponenty. Jeden komponent s 1 000 riadkami sa ľuďom aj AI ťažko bezpečne mení. Požiadajte o menšie.
  • Predpoklad, že webová aplikácia v Reacte je telefónna aplikácia. Beží v prehliadači, aj na telefónoch, ale nie je to aplikácia z App Store.

Čo požiadať od svojho AI nástroja na tvorbu

  • „Rozdeľ túto stránku na malé, pomenované komponenty a povedz mi, v ktorom súbore je každý z nich.“
  • „Urob komponent ProductCard znovupoužiteľný s name, price a image ako props.“
  • „Ulož košík do databázy, aby prežil obnovenie stránky.“
  • „Drž všetky API kľúče na serveri; kód Reactu nech volá naše vlastné API.“
  • „Pridaj stavy načítavania a chýb pre dáta, ktoré prichádzajú zo servera.“
  • „Ak na týchto stránkach záleží na viditeľnosti vo vyhľadávaní, predrenderuj ich alebo použi nastavenie s renderovaním na serveri.“
  • „Vysvetli jednoducho, čo znamená táto chyba a z ktorého komponentu pochádza.“

Pre väčší obraz pozrite frontend vs backend a na kontrolu toho, čo AI napísala, ako kontrolovať kód vygenerovaný AI.

React v Mythex

Ak nepožiadate o niečo iné, Mythex začína nové projekty na Vite + React + TypeScript + Tailwind, s živým náhľadom bežiacim počas chatu. Iné nastavenie môžete uviesť v prvom prompte — napríklad „Použi Next.js“ alebo „jednoduchá statická HTML titulná stránka“ — a Mythex ho vyberie z toho, čo napíšete; nie je na to žiadna obrazovka nastavení. Stránka dokumentácie o výbere technológie vysvetľuje možnosti. Editor kódu je v bezplatnom pláne len na čítanie; v Pro môžete React kód upravovať priamo a exportovať projekt, aby ste na ňom mohli pracovať inde.

Otázky

Čo je React jednoducho povedané?

React je JavaScriptová knižnica na tvorbu používateľského rozhrania. Obrazovky skladáte z opakovane použiteľných častí zvaných komponenty, napríklad tlačidlo, kartu produktu alebo celú stránku, a React aktualizuje to, čo je na obrazovke, keď sa zmenia podkladové dáta.

Je React framework alebo knižnica?

React sa označuje ako knižnica: zameriava sa na tvorbu rozhrania. Frameworky postavené na ňom, napríklad Next.js, pridávajú veci ako smerovanie, renderovanie na serveri a načítavanie dát.

Prečo ho používajú tvorcovia aplikácií s AI?

React patrí medzi najrozšírenejšie spôsoby tvorby webových rozhraní, takže existuje obrovské množstvo kódu a dokumentácie k Reactu, z ktorej sa AI modely môžu učiť. Jeho štruktúra komponentov sa tiež hodí na malé, cielené zmeny.

Je React zlý pre SEO?

Nie automaticky. Aplikácia v Reacte, ktorá všetko vykresľuje v prehliadači, je pre niektoré vyhľadávacie roboty ťažšie čitateľná, ale React sa dá aj predrenderovať alebo renderovať na serveri, napríklad s Next.js, čo väčšinu tohto problému rieši.

Je React to isté ako React Native?

Nie. React tvorí webové rozhrania, ktoré bežia v prehliadači. React Native používa rovnaké myšlienky na tvorbu natívnych aplikácií pre iOS a Android. Zdieľajú koncepty, ale nie väčšinu stavebných blokov.

Mythex · Pricing · Vytvorte čokoľvek s AI · Šablóny webov a aplikácií · Mythex v porovnaní · Slovník pojmov tvorby aplikácií s AI · Bezplatné nástroje na tvorbu aplikácií s AI · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)