Redux üçin serwer üçin maglumatlar bazasy
Öňki sapakda biz msw-ny gurnadyk, ýakyndan biz serwerimiz bilen işlemegi suratlandyrmaga kömek eder. Başlangyçda bolsa biz aplikasiýamyzy işledip başlanylanda serwerde bar bolan maglumatlary ýüklemegi isleýäris.
Geliň önümler bar bolan aplikasiýamyzy açalyň,
onyň içindäki server.js faýlyny. Bu ýerde bizde öňki
sapakdan galan birnäçe kod setiri
bar.
Ilkinji bolup, özümizden soramaly: adaty maglumatlar nirede saklanylýar? Hawa, elbetde maglumatlar bazasynda, diňe oýlanmandan jogap bereris. Şonuň üçin geliň ýene bir ajaýyp guraly ulanýalyň, ýakyndan biz öz maglumatlarymyzyň modelini döretmäge rugsat berer, şeýle hem hakyky SQL-baza bilen işleýändigimiz ýaly etmäge mümkinçilik berer.
Bize bu işde kömek edjek gural - bu @mswjs/data kitaphanasy. Ony gurnamak üçin, terminala aşakdaky buýrugy ýazyň:
npm install @mswjs/data --save-dev
Indi server.js faýlyna
gerekli zatlary import edeliň:
import { factory, oneOf, manyOf, primaryKey } from '@mswjs/data'
We bizň şahsy bazamyzy
döredeliň. Bu üçin biz funksiýany
factory ulanarys. Biz muny
import setirlerinden soň we işgäri export etmezden öň ederis:
export const db = factory({})
Biz onda haýsy maglumatlary saklarys?
Serwerden biz önümleri,
satyjylary we ulanyjylaryň reaksiýalaryny alyp bolmaly. Demeli
bizň maglumatlar bazasynda biz
üç model döretmeli, ýagny factory
obyektler görnüşinde kabul edýän:
export const db = factory({
product: {},
seller: {},
reaction: {},
})
Hakyky SQL maglumatlar bazasyndaky ýaly
her bir modelimizde primary key bolmaly.
Däp boýunça, biz bu meýdan hökmünde id belläris,
döretmek üçin şol bir
nanoid kitaphanasyny ulanarys:
export const db = factory({
product: {
id: primaryKey(nanoid),
},
seller: {
id: primaryKey(nanoid),
},
reaction: {
id: primaryKey(nanoid),
},
})
Faýlyň başyndaky import setirlerine nanoid goşmagy ýatdan çykarmaly däl:
import { nanoid } from '@reduxjs/toolkit'
Indiki sapakda biz modellerimizi gerekli meýdanlar bilen doldurar.
Şagirtler bar bolan aplikasiýaňyzy açyň. Bu sapagyň materialy bilen tanşanyňyzdan soň, aplikasiýaňyz üçin @mswjs/data gurnaň.
Indiki bölümde funksiýa factory kömegi bilen
maglumatlar bazasynyň modelini db dörediň.
Ona üç sany
obyekti (student, teacher, vote)
sapakda görkezilişi ýaly beriň.