Přidání Reactu do existujícího projektu

Pokud máte v plánu přidat interaktivitu do existujícího projektu, není nutné celý projekt přepracovat do Reactu. Můžete jednoduše začlenit React mezi již použité technologie a umístit interaktivní React komponenty, kamkoliv je potřeba.

Poznámka

Pro vývoj v lokálním prostředí je nutné mít nainstalovaný Node.js. I když máte možnost si vyzkoušet React online nebo na jednoduché HTML stránce, realita je taková, že většina JavaScriptových nástrojů, které budete chtít použít pro vývoj, vyžaduje Node.js.

Implementace Reactu do segmentu cesty vaší existující webové stránky

Představme si, že máte existující webovou aplikaci na adrese example.com, která byla vytvořena za pomocí jiné serverové technologie (např. Rails) a chcete , aby všechny cesty začínající s example.com/obchod/ byly plně implementované pomocí Reactu.

Zde je náš doporučený postup:

  1. Vytvořte část aplikace pomocí některého z frameworků založených na Reactu.
  2. Nastavte /obchod jako základní cestu v konfiguraci vašeho frameworku (zde je návod pro: Next.js a Gatsby).
  3. Nakonfigurujte svůj server nebo proxy server tak, aby všechny požadavky na cestu /obchod/ zpracovávala vaše aplikace v Reactu.

Tímto zajistíte, že část vaší aplikace napsaná Reactu bude využívat osvědčené postupy a praktiky, které jsou součástí těchto frameworků.

Mnoho frameworků založených na Reactu je full-stack, což umožňuje vaší React aplikaci využít server. Tento přístup můžete uplatnit i v případě, kdy nemůžete nebo nechcete na serveru používat JavaScript. V takové situaci místo toho zpřístupníte export HTML/CSS/JS (output v next export pro Next.js, default pro Gatsby) na adresářové cestě /obchod/.

Implementace Reactu do konkrétní části vaší existující webové stránky

Předpokládejme, že máte existující stránku, která byla vytvořena s využitím jiné technologie, ať už serverové (např. Rails) nebo klientské (jako je Backbone), a chcete na ní implementovat interaktivní komponenty React. Tento postup je běžnou formou integrace Reactu. Ve skutečnosti se React takto používal řadu let ve společnosti Meta!

Tento postup lze provést ve dvou krocích:

  1. Nakonfigurujte si JavaScriptové prostředí tak, ať vám dovolí používat syntaxi JSX, rozdělit kód do modulů pomocí syntaxe import / export a používat balíčky (např. React) z registru balíčků npm.
  2. Vyrendrujte React komponenty tam, kde je chcete na stránce zobrazit.

Přesný postup se bude lišit v závislosti na vašem existujícím nastavení stránky, takže se podíváme na některé detaily.

Krok 1: Nastavení modulárního prostředí JavaScriptu

Modulární prostředí JavaScriptu umožňuje psát React komponenty v jednotlivých souborech, na rozdíl od psaní celého kódu v jednom souboru. Modulární prostředí navíc nabízí možnost využít různé balíčky od jiných vývojářů, které jsou publikovány v npm registru - včetně samotného Reactu! Způsob implementace bude zcela záviset na vašem existujícím nastavení:

Pokud chcete ověřit, zda je vaše nastavení funkční, spusťte následující příkaz v adresáři projektu:

Terminál
npm install react react-dom

Poté přidejte následující řádky kódu na začátek svého hlavního JavaScriptového souboru (jméno souboru může být index.jsnebo main.js):

import { createRoot } from 'react-dom/client';

// Nahradí existující obsah HTML
document.body.innerHTML = '<div id="app"></div>';

// Do něj nyní vyrendrujeme React komponentu
const root = createRoot(document.getElementById('app'));
root.render(<h1>Hello, world</h1>);

Pokud byl celý obsah stránky nahrazen nápisem “Hello, world”, vše funguje správně! Pokračujte ve čtení.

Poznámka

První integrace modulárního prostředí JavaScriptu do existujícího projektu může působit zastrašujícím dojmem, ale výsledky stojí za to! Pokud narazíte na problémy, využijte naše komunitní zdroje nebo se obrate na Vite Chat.

Krok 2: Vyrendrujte React komponenty na libovolném místě na stránce

V předchozím kroku jste tento kód umístili na začátek hlavního souboru:

import { createRoot } from 'react-dom/client';

// Nahradí existující obsah HTML
document.body.innerHTML = '<div id="app"></div>';

// Do něj nyní vyrendrujeme React komponentu
const root = createRoot(document.getElementById('app'));
root.render(<h1>Hello, world</h1>);

Samozřejmě, v reálném případě nebudete chtít existující obsah HTML vymazat!

Tento kód odstraňte.

Spíše než rendrovat celou stránku pomocí Reactu, budete chtít vyrendrovat React komponenty na specifických místech v HTML. Otevřete svou HTML stránku (nebo serverové šablony, které ji generují) a přidejte například unikátní atribut id k libovolnému tagu:

<!-- ... někde v html ... -->
<nav id="navigation"></nav>
<!-- ... více html ... -->

Toto vám umožní vyhledat tento HTML prvek pomocí funkce document.getElementById a předat ho do funkce createRoot, abyste v něm mohli následně vyrendrovat vlastní komponentu React:

import { createRoot } from 'react-dom/client';

function NavigationBar() {
  // TODO: Implementovat navigační lištu
  return <h1>Hello from React!</h1>;
}

const domNode = document.getElementById('navigation');
const root = createRoot(domNode);
root.render(<NavigationBar />);

Všimněte si, že původní obsah HTML ze souboru index.html zůstává nezměněn, zatímco vaše vlastní React komponenta NavigationBar se nyní zobrazuje uvnitř <nav id="navigation"> v rámci vašeho HTML. Pro hlubší pochopení rendrování React komponentů uvnitř existující HTML stránky, doporučujeme prostudovat dokumentaci k funkci createRoot.

Běžným postupem při implementaci Reactu do existujícího projektu je začít s malými interaktivními komponenty (např. tlačítky) a postupně “postupovat nahoru”, dokud celou stránku netvoří komponenty React. Pokud někdy dosáhnete tohoto bodu, doporučujeme hned poté přejít na React framework, abyste z něj mohli vytěžit maximum.

Implementace React Native do existující nativní mobilní aplikace

React Native lze také postupně integrovat do existujících nativních aplikací. Pokud máte existující nativní aplikaci pro Android (Java nebo Kotlin) nebo iOS (Objective-C nebo Swift), následujte tento návod pro přidání obrazovky s React Native.