Giter VIP home page Giter VIP logo

kit-react's Introduction

React tutorial

React patří mezi nejpopulárnější knihovny pro tvorbu uživatelského rozhraní webových aplikací.

A proč se nenaučit něco nového?

Cílem workshopu je vytvořit mikro eshop, na kterém budou demonostrovány základy pro Reactu.

Eshop bude podporovat práci s produkty, jako je přidávání nového zboží, editace, mazání a výpis. Další důležitou funkcionalitou eshopu je práce s nákupním košíkem.

Výukové video

Pro snadnější vývoj je vhodný mít nainstalované

Ověření instalace následujícími příkazy pro zjištění verze:

node -v
npm -v
npx -v

Základní příkazy

Instalace a spuštění nového projektu. React aplikace se spustí na portu 3000.

npx create-react-app upce-shop
cd upce-shop
npm start

Start mock serveru na portu 3001. Je nutno mít soubor db.json, který obsahuje datové struktury. Dále se servírují soubory z adresáře ./img. Pozor na relativní cesty.

npx json-server --watch db.json --static ./img --port 3001

Slovníček pojmů

Single-page aplikace

  • zkráceně SPA
  • aplikace, která načte jedno HTML a další potřebné zdroje (obrázky, JavaScript, CSS)
  • každá další interakce s aplikací nepotřebuje udělat požadavek na server
  • na server se dělají požadavky pouze na nezbytná data
  • Server-Side-Rendering X Client-Side-Rendering

Komponenta

  • vizuální prvek
  • může mít v s sobě více komponent
  • je znovupoužitelná (většinou se o to snažíme)

React komponenta

  • výraz, která vrací JSX
  • JSX je šablonovací jazyk pro psaní komponent
  • na první pohled vypadá jako HTML
  • lze v něm používat JavaScript (v zásadě ho rozšiřuje)
const name = 'Mr. Component';
const element = (
  <h1>
    Hello, I am {name}!
  </h1>
);

React Hook

  • funkce, které se spouští v určité fázi životního cyklu komponenty (změna vstupních parametrů)
  • dostupné až od verze 16.8 (ještě se můžete setkat se zápisem tříd)
  • používá pro udržení stavu v komponentě
  • při změně stavu dojde k překreslení komponenty a všech jeho potomků
  • hook
  • funkce, která se spouští v závislosti na změnách stavu v komponentě
  • hook
import React, { useState } from 'react';

function Example() {
  // Declare a new state variable, which we'll call "count"
  const [count, setCount] = useState(0);

  return (
    <div>
      <p>You clicked {count} times</p>
      <button onClick={() => setCount(count + 1)}>
        Click me
      </button>
    </div>
  );
}
  • funkce pro volání serveru
fetch('http://example.com/movies.json')
  .then(response => response.json())
  .then(data => console.log(data));
  • funkce, která iteruje přes všechny prvky poli; pro každý prvek se očekává návratová hodnota; typicky využití hodnot pro vytvoření komponenty v seznamu
  • počet položek v novém poli je stejný jako počet položek ve vstupním poli
  • lze chápat jako foreach, ale položek v map musí vždy něco vracet
const items = [2, 5, 6, 3, 8, 9];
          
var sqrtObjectItems = items.map((val, index) => {
  return {key:index, value:val*val};
})
  • používá se pro filtrování položek
  • vrací vyfiltrovaný seznam
const words = ['spray', 'limit', 'elite', 'exuberant', 'destruction', 'present'];

const result = words.filter(word => word.length > 6);

Zdroje

kit-react's People

Contributors

petrfilip avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.