⊗jsrxPmSDDB 38 of 57 menu

Databáze pro server v Reduxu

V minulé lekci jsme nainstalovali msw, který nám pomůže simulovat práci naší aplikace se serverem. A pro začátek bychom chtěli při spuštění aplikace načíst data, která již na serveru jsou.

Pojďme otevřít naši aplikaci s produkty, a v ní soubor server.js. Zde již máme pár řádků kódu z minulé lekce.

A první, co bychom se měli zeptat: kde se obvykle data ukládají? Ano, samozřejmě v databázi, odpovíme bez zaváhání. Proto použijme další skvělý nástroj, který nám umožní vytvořit model našich dat, a také to zařídit, jako bychom pracovali s opravdovou SQL databází.

Nástroj, který nám s tím pomůže - je knihovna @mswjs/data. Pro její instalaci zadejte v terminálu následující příkaz:

npm install @mswjs/data --save-dev

Nyní importujme v souboru server.js potřebné věci:

import { factory, oneOf, manyOf, primaryKey } from '@mswjs/data'

A vytvořme naši improvizovanou databázi. K tomu použijeme funkci factory. Uděláme to níže po řádcích s importem a před exportem workera:

export const db = factory({})

A jaká data v ní budeme ukládat? Ze serveru bychom měli dostávat produkty, prodejce a reakce uživatelů. To znamená, že v naší databázi musíme vytvořit tři modely, které factory přijímá ve formě objektů:

export const db = factory({ product: {}, seller: {}, reaction: {}, })

Stejně jako v opravdové SQL databázi každý náš model musí mít primary key. Tradičně nastavíme takové pole jako id, generovat který budeme opět stejnou nanoid knihovnou:

export const db = factory({ product: { id: primaryKey(nanoid), }, seller: { id: primaryKey(nanoid), }, reaction: { id: primaryKey(nanoid), }, })

Nezapomeňme přidat nanoid v řádcích importu na začátku souboru:

import { nanoid } from '@reduxjs/toolkit'

V příští lekci doplníme naše modely o potřebná pole.

Otevřete vaši aplikaci se studenty. Po seznámení s materiálem této lekce nainstalujte @mswjs/data pro vaši aplikaci.

Dále vytvořte model databáze db pomocí funkce factory. Předejte jí tři objekty (student, teacher, vote) pro vaše data, podobně jako je ukázáno v lekci.

Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout