Ülevaade

React on JavaScripti teek kasutajaliideste ehitamiseks. See mall kasutab Create React App-i (CRA), mis pakub mugavat seadistust Reacti õppimiseks ja kindlat alust ühe lehe rakenduste jaoks.

Enne alustamist
Veendu, et sinu töölaud on avatud - vajad seal kuvatavaid Giti sisselogimisandmeid. See mall sisaldab React 18-t, Tailwind CSS-i, Redux Toolkitit ja React Routerit.

Kiirjuhend

1

Loo repositoorium mallist

Mine oma töölaual vahekaardile Tools & Deployment. Klõpsa nuppu "New Repository", vali rippmenüüst React mall, sisesta repositooriumi nimi ja alamdomeen ning klõpsa "Create Repository".

2

Klooni oma repositoorium

git clone https://<git-server>/<username>/<repo-name>.git
cd <repo-name>
3

Paigalda sõltuvused

npm install
4

Käivita arendusserver

npm start

Ava brauseris http://localhost:3000.

5

Ehita ja saada üles

npm run build
git add .
git commit -m "Initial setup"
git push origin main
Iga push Giti juurutab sinu rakenduse automaatselt. Kontrolli oma Mooduli töö-URL-i töölaual, et näha oma live-saiti.

Kohalik arendus Dockeriga

Kui sul ei ole Node.js-i kohalikult paigaldatud, saad Reacti käskude käivitamiseks kasutada Dockerit.

Mis on Docker?
Docker loob isoleeritud "konteinerid" kogu vajaliku tarkvaraga (Node.js, npm), ilma et peaksid neid oma arvutisse paigaldama. Mõtle sellest kui kergekaalulisest virtuaalmasinast.

Eeldused

Paigalda Docker Desktop oma operatsioonisüsteemi jaoks (Windows, Mac või Linux).

Käskude käivitamine Dockeriga

# Käivita npm install
docker run --rm -v $(pwd):/app -w /app node:18 npm install

# Käivita arendusserver (kättesaadav aadressil localhost:3000)
docker run --rm -v $(pwd):/app -w /app -p 3000:3000 node:18 npm start

# Ehita tootmise jaoks
docker run --rm -v $(pwd):/app -w /app node:18 npm run build
Märkus
Docker on kohalikuks arenduseks valikuline. NStrim-platvorm hoolitseb juurutamise eest automaatselt - Dockerit on vaja ainult siis, kui soovid käske käivitada kohalikult ilma paigaldatud Node.js-ita.

Projekti struktuur

Failide asukohtade mõistmine:

├── src/
│   ├── components/           # React komponendid
│   ├── hooks/                # Kohandatud React hookid
│   ├── pages/                # Lehekomponendid
│   ├── services/             # API teenused
│   ├── store/                # Reduxi salvestuse seadistus
│   ├── App.js                # Juurkomponent
│   ├── App.css               # Rakenduse stiilid
│   └── index.js              # Rakenduse sisendpunkt
├── public/                   # Staatilised failid
├── package.json              # Sõltuvused ja skriptid
├── tailwind.config.js        # Tailwind CSS seadistus
└── Dockerfile                # Dockeri ehitamise seadistus
        

Levinud ülesanded

Komponendi loomine

Loo .js failid kataloogis src/components/:

// src/components/Button.js
export default function Button({ label, onClick }) {
  return (
    <button
      className="bg-blue-500 text-white px-4 py-2 rounded"
      onClick={onClick}
    >
      {label}
    </button>
  );
}

React hookide kasutamine

Levinud hookid oleku ja kõrvalmõjude jaoks:

import { useState, useEffect } from 'react';

function Counter() {
  const [count, setCount] = useState(0);

  useEffect(() => {
    document.title = `Count: ${count}`;
  }, [count]);

  return (
    <button onClick={() => setCount(count + 1)}>
      Count: {count}
    </button>
  );
}

React Routeri kasutamine

React Router on navigatsiooni jaoks eelseadistatud:

import { BrowserRouter, Routes, Route, Link } from 'react-router-dom';
import Home from './pages/Home';
import About from './pages/About';

function App() {
  return (
    <BrowserRouter>
      <nav>
        <Link to="/">Home</Link>
        <Link to="/about">About</Link>
      </nav>
      <Routes>
        <Route path="/" element={<Home />} />
        <Route path="/about" element={<About />} />
      </Routes>
    </BrowserRouter>
  );
}

Tailwind CSS-i kasutamine

Tailwind CSS on eelseadistatud. Kasuta klasse otse oma JSX-is:

<div className="bg-blue-500 text-white p-4 rounded-lg">
  Hello Tailwind!
</div>

Kasulikud käsud

npm start Käivita arendusserver (port 3000)
npm run build Loo optimeeritud tootmise build
npm test Käivita testikomplekt
npm run eject Eralda CRA-st (ühesuunaline operatsioon)

Tõrkeotsing

npm install ebaõnnestub õigustevigadega

Põhjus: Õiguste probleemid npm-i vahemälu või node_modulesiga.

Lahendus: Kustuta node_modules kaust ja package-lock.json, seejärel käivita npm install uuesti.

Port 3000 on juba kasutusel

Põhjus: Mõni teine protsess kasutab porti 3000.

Lahendus: Määra teine port: PORT=3001 npm start või peata teine protsess.

Komponent ei renderda uuesti

Põhjus: Oleku muteerimine uue oleku loomise asemel.

Lahendus: Loo oleku uuendamisel alati uued objektid/massiivid. Kasuta spread operaatorit: setItems([...items, newItem])

Muudatused ei kajastu brauseris

Põhjus: Brauseri vahemälu või hot reload ei tööta.

Lahendus: Tee tugev värskendus (Ctrl+Shift+R või Cmd+Shift+R) või taaskäivita arendusserver.

Ehitamine ebaõnnestub pärast juurutamist

Põhjus: Ehitamise vead või puuduvad sõltuvused.

Lahendus: Käivita enne push'i kohalikult npm run build, et vigu kontrollida.

Juurutamise töövoog

Iga kord, kui saadad koodi Giti, ehitatakse ja juurutatakse sinu rakendus automaatselt:

Koodimuudatus git push npm run build Juuruta staatilised failid Live!

Sinu juurutatud rakenduse URL järgib seda formaati:

https://<your-subdomain>-<repo-name>.<session-domain>

Näide: https://student01-module-a.demo.nstrim.app

Lisainfo saamiseks külasta ametlikku Reacti dokumentatsiooni.