Redux serveri uchun ma'lumotlar bazasi
O'tgan darsda biz msw ni o'rnatdik, u bizning ilovamizning server bilan ishlashini simulyatsiya qilishga yordam beradi. Boshlash uchun biz ilovani ishga tushirishda serverda mavjud bo'lgan ma'lumotlarni yuklamoqchi edik.
Keling, mahsulotlar bilan ilovamizni ochamiz,
unda server.js faylini ochamiz. Bu yerda bizda allaqachon
o'tgan darsdan bir nechta kod qatorlari
mavjud.
Va birinchi savol: odatda ma'lumotlar qayerda saqlanadi? Ha, albatta ma'lumotlar bazasida, deb javob beramiz o'ylamay. Shuning uchun keling, yana bir ajoyib vositadan foydalanamiz, u bizga ma'lumotlarimizning modelini yaratishga imkon beradi, shuningdek, biz haqiqiy SQL-bazasi bilan ishlayotgandek qiladi.
Bunda bizga yordam beradigan vosit - bu @mswjs/data kutubxonasi. Uni o'rnatish uchun, terminalda quyidagi buyruqni kiriting:
npm install @mswjs/data --save-dev
Endi server.js faylida
kerakli narsalarni import qilamiz:
import { factory, oneOf, manyOf, primaryKey } from '@mswjs/data'
Va improvisatsion ma'lumotlar bazamizni
yaratamiz. Buning uchun biz
factory funksiyasidan foydalanamiz.
Biz buni import qatorlari ostida
va worker ni eksport qilishdan oldin qilamiz:
export const db = factory({})
Biz unda qanday ma'lumotlarni saqlaymiz?
Serverdan biz mahsulotlar,
sotuvchilar va foydalanuvchi reaksiyalarini olishimiz kerak. Demak
ma'lumotlar bazamizda biz
factory tomonidan qabul qilinadigan uchta model yaratishimiz kerak,
obyektlar ko'rinishida:
export const db = factory({
product: {},
seller: {},
reaction: {},
})
Haqiqiy SQL ma'lumotlar bazasida bo'lgani kabi
har bir modelimiz primary key ga ega bo'lishi kerak.
An'anaga ko'ra, biz bunday maydon sifatida id ni tayinlaymiz,
uni yaratish uchun biz o'sha
nanoid kutubxonasidan foydalanamiz:
export const db = factory({
product: {
id: primaryKey(nanoid),
},
seller: {
id: primaryKey(nanoid),
},
reaction: {
id: primaryKey(nanoid),
},
})
Fayl boshidagi import qatorlariga nanoid ni qo'shishni unutmang:
import { nanoid } from '@reduxjs/toolkit'
Keyingi darsda biz modellarimizni kerakli maydonlar bilan to'ldiramiz.
Talabalar bilan ilovangizni oching. Ushbu dars materiali bilan tanishib chiqqaningizdan so'ng, ilovangiz uchun @mswjs/data ni o'rnating.
Keyin factory funksiyasi yordamida
db ma'lumotlar bazasi modelini yarating. Unga uchta
obyekt (student, teacher, vote) uzating
ma'lumotlaringiz uchun, darsda ko'rsatilganidek.