Översikt

React är ett JavaScript-bibliotek för att bygga användargränssnitt. Den här mallen använder Create React App (CRA), som ger en bekväm uppsättning för att lära sig React och en stabil grund för single-page-applikationer.

Innan du börjar
Se till att din dashboard är öppen – du kommer att behöva Git-uppgifterna som visas där. Den här mallen innehåller React 18, Tailwind CSS, Redux Toolkit och React Router.

Kom igång

1

Skapa repository från mall

Gå till fliken Tools & Deployment i din dashboard. Klicka på knappen "New Repository", välj React-mallen från rullgardinsmenyn, ange ett repository-namn och en subdomän och klicka sedan på "Create Repository".

2

Klona ditt repository

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

Installera beroenden

npm install
4

Starta utvecklingsservern

npm start

Öppna http://localhost:3000 i din webbläsare.

5

Bygg och pusha

npm run build
git add .
git commit -m "Initial setup"
git push origin main
Varje push till Git distribuerar din applikation automatiskt. Kontrollera din Module Work URL i dashboarden för att se din live-sajt.

Lokal utveckling med Docker

Om du inte har Node.js installerat lokalt kan du använda Docker för att köra React-kommandon.

Vad är Docker?
Docker skapar isolerade "containrar" med all programvara du behöver (Node.js, npm) utan att installera dem på din dator. Tänk på det som en lättviktig virtuell maskin.

Förutsättningar

Installera Docker Desktop för ditt operativsystem (Windows, Mac eller Linux).

Köra kommandon med Docker

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

# Run development server (accessible at localhost:3000)
docker run --rm -v $(pwd):/app -w /app -p 3000:3000 node:18 npm start

# Build for production
docker run --rm -v $(pwd):/app -w /app node:18 npm run build
Obs
Docker är valfritt för lokal utveckling. NStrim-plattformen hanterar distribution automatiskt – du behöver bara Docker om du vill köra kommandon lokalt utan att ha Node.js installerat.

Projektstruktur

Förstå var filerna finns:

├── src/
│   ├── components/           # React-komponenter
│   ├── hooks/                # Anpassade React-hooks
│   ├── pages/                # Sidkomponenter
│   ├── services/             # API-tjänster
│   ├── store/                # Redux store-konfiguration
│   ├── App.js                # Rotkomponent
│   ├── App.css               # App-stilar
│   └── index.js              # Applikationens ingångspunkt
├── public/                   # Statiska filer
├── package.json              # Beroenden och skript
├── tailwind.config.js        # Tailwind CSS-konfiguration
└── Dockerfile                # Docker-byggkonfiguration
        

Vanliga uppgifter

Skapa en komponent

Skapa .js-filer i 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>
  );
}

Använda React Hooks

Vanliga hooks för state och sidoeffekter:

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>
  );
}

Använda React Router

React Router är förkonfigurerat för navigering:

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>
  );
}

Använda Tailwind CSS

Tailwind CSS är förkonfigurerat. Använd klasser direkt i din JSX:

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

Användbara kommandon

npm start Starta utvecklingsserver (port 3000)
npm run build Skapa optimerat produktionsbygge
npm test Kör testsviten
npm run eject Eject från CRA (kan inte ångras)

Felsökning

npm install fails with permission errors

Orsak: Behörighetsproblem med npm-cachen eller node_modules.

Lösning: Ta bort mappen node_modules och package-lock.json och kör sedan npm install igen.

Port 3000 already in use

Orsak: En annan process använder port 3000.

Lösning: Sätt en annan port: PORT=3001 npm start eller stoppa den andra processen.

Component not re-rendering

Orsak: Mutation av state istället för att skapa nytt state.

Lösning: Skapa alltid nya objekt/arrayer när du uppdaterar state. Använd spread-operatorn: setItems([...items, newItem])

Changes not reflecting in browser

Orsak: Webbläsarcache eller hot reload fungerar inte.

Lösning: Hård uppdatering (Ctrl+Shift+R eller Cmd+Shift+R) eller starta om utvecklingsservern.

Build fails after deployment

Orsak: Byggfel eller saknade beroenden.

Lösning: Kör npm run build lokalt först för att kontrollera fel innan du pushar.

Distributionsflöde

Varje gång du pushar kod till Git byggs och distribueras din applikation automatiskt:

Kodändring git push npm run build Distribuera statiska filer Live!

Din distribuerade applikations-URL följer detta format:

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

Exempel: https://student01-module-a.demo.nstrim.app

För mer information, besök den officiella React-dokumentationen.