⊗jsrxPmSDDB 38 of 57 menu

ฐานข้อมูลสำหรับเซิร์ฟเวอร์ใน Redux

ในบทเรียนที่แล้วเราได้ติดตั้ง msw ซึ่งจะช่วยเราจำลองการทำงาน ของแอปพลิเคชันของเรากับเซิร์ฟเวอร์ และสำหรับการเริ่มต้น เราต้องการให้โหลดข้อมูลที่มีอยู่บนเซิร์ฟเวอร์อยู่แล้ว เมื่อเริ่มต้นทำงานแอปพลิเคชัน

มาเปิดแอปพลิเคชันผลิตภัณฑ์ของเรากัน และในนั้นคือไฟล์ server.js ที่นี่เรามี โค้ดสองสามบรรทัดจากบทเรียนที่แล้ว อยู่แล้ว

และสิ่งแรกที่เราต้องถามตัวเอง: โดยปกติแล้ว ข้อมูลถูกเก็บไว้ที่ไหน? ใช่แน่นอนในฐานข้อมูล เราจะตอบโดยไม่ต้องคิด ดังนั้น มาใช้อีกหนึ่งเครื่องมือที่ยอดเยี่ยม ซึ่งจะช่วยให้เราสร้างโมเดลของข้อมูลเรา และยังทำให้เหมือนกับว่าเรา ทำงานกับฐานข้อมูล SQL จริงๆ

เครื่องมือที่จะช่วยเราในเรื่องนี้คือ ไลบรารี @mswjs/data เพื่อติดตั้ง ให้พิมพ์ในเทอร์มินัล คำสั่งต่อไปนี้:

npm install @mswjs/data --save-dev

ตอนนี้ให้ import ในไฟล์ server.js สิ่งที่เราต้องการ:

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

และสร้างฐานข้อมูลจำลองของเรา ขึ้นมา สำหรับสิ่งนี้เราจะใช้ฟังก์ชัน factory เราจะทำด้านล่างหลัง บรรทัด import และก่อนการ export 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 ที่ด้านบนของไฟล์:

import { nanoid } from '@reduxjs/toolkit'

ในบทเรียนถัดไปเราจะเพิ่มเติมโมเดลของเรา ด้วยฟิลด์ที่จำเป็น

เปิดแอปพลิเคชันนักเรียนของคุณ หลังจากศึกษาบทเรียนนี้แล้ว ให้ติดตั้ง @mswjs/data สำหรับ แอปพลิเคชันของคุณ

ต่อไป ให้สร้างโมเดลฐานข้อมูล db โดยใช้ฟังก์ชัน factory ส่งอ็อบเจกต์สามตัว (student, teacher, vote) สำหรับ ข้อมูลของคุณ คล้ายกับที่แสดง ในบทเรียน

ไทย
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικά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
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ