Redux сервери үчүн маалымат базасы
Өткөн сабакта биз msw орноттук, ал бизге колдонмобуздун сервер менен ишин ырастоого жардам берет. Башында биз колдонмо иштеп баштаганда серверде буга чейин бар болгон маалыматтарды жүктөп алгыбыз келет.
Келгиле, товарлар бар колдонмобузду ачалы,
андағы server.js файлын ачалы. Бул жерде бизде
өткөн сабактан калган бир нече сап код
буга чейин бар.
Биринчиден, биз өзүбүздөн сурашыбыз керек: кайда адатта маалыматтар сакталат? Ооба, албетте маалымат базасында, деп биз ойлонбой жооп беребиз. Ошондуктан келгиле, дагы бир сонун куралды колдонолу, ал бизге маалыматтардыздын моделиңизди түзүүгө мүмкүндүк берет, ошондой эле биз чыныгы SQL-база менен иштеп жаткандай кылууга мүмкүндүк берет.
Бул жерде бизге жардам бере турган курал - бул @mswjs/data китепканасы. Аны орнотуу үчүн, терминалга төмөнкү буйрукту териңиз:
npm install @mswjs/data --save-dev
Эми server.js файлында бизге керек болгон
нерселерди импорттоолу:
import { factory, oneOf, manyOf, primaryKey } from '@mswjs/data'
Жана биздин импровизацияланган базаны
түзөлү. Бул үчүн биз функцияны колдонобуз
factory. Биз муну импорттолгон нерселердин саптарынан кийин жана worker экспорттоодон мурун төмөнкүдөй кылабыз:
export const db = factory({})
Биз анда кандай маалыматтарды сактайбыз?
Серверден биз товарларды,
сатуучуларды жана колдонуучулардын реакцияларын алышыбыз керек. Демек
биздин маалымат базабызда биз түзүшүбүз керек
үч модель, алар factory тарабынан кабыл алынат
объекттер түрүндө:
export const db = factory({
product: {},
seller: {},
reaction: {},
})
Чыныгы SQL маалымат базасында болгондой эле ар бир
биздин моделдин primary key болушу керек.
Салттуу түрдө, биз мындай талаа катары id дайындайбыз,
аны түзүп бере турган болот ошол эле
nanoid китепканасы:
export const db = factory({
product: {
id: primaryKey(nanoid),
},
seller: {
id: primaryKey(nanoid),
},
reaction: {
id: primaryKey(nanoid),
},
})
Файлдын башындагы импорттолгон саптарга nanoid кошунтууну унутпайлы:
import { nanoid } from '@reduxjs/toolkit'
Кийинки сабакта биз моделдерибизди керектүү талаалар менен толуктайбыз.
Студенттериңиз бар колдонмону ачыңыз. Бул сабактын материалы менен таанышкандан кийин, @mswjs/data орнотуңуз өзүңүздүн колдонмонуз үчүн.
Андан ары маалымат базасынын моделиңизди db түзүңүз
factory функциясынын жардамы менен. Ага үч
объектти (student, teacher, vote) өткөрүп бериңиз
маалыматтарыңыз үчүн, сабакта көрсөтүлгөндөй эле.