⊗jsrxPmSDCPO 41 of 57 menu

Redux에서 제품 데이터 객체 생성하기

판매자 객체를 생성하는 함수는 있으니, 이제 제품으로 넘어가겠습니다. 이 객체를 생성하는 것은 데이터 필드가 더 많기 때문에 조금 더 복잡할 것입니다. 시작해 보겠습니다.

제품 애플리케이션을 열고, 그 안에 있는 server.js 파일을 열어보겠습니다. getRandInt 함수 아래에 우리의 함수 createProductData를 작성하겠습니다:

const createProductData = () => {}

이제 필요한 속성들을 정의하겠습니다. name, priceamount에 대한 값은 이전 강의에서 작성한 getRandInt 함수를 사용하여 생성하겠습니다:

const createProductData = () => { return { name: `Product${getRandInt(0, 100)}`, price: getRandInt(100, 2000), amount: getRandInt(1, 50), } }

설명을 생성하기 위해 또 다른 유용한 도구를 사용하겠습니다. 이는 faker 라이브러리로, 가짜 이름, 주소, 이메일, 거리 이름, 텍스트 등을 다양한 언어로 생성할 수 있게 해줍니다. 터미널에 다음 명령어를 입력하여 이 라이브러리를 우리 애플리케이션에 설치해 보겠습니다:

npm install @faker-js/faker --save-dev

그런 다음 파일에 임포트하겠습니다:

import { faker } from '@faker-js/faker'

이 라이브러리를 사용하여 잘 알려진 'Lorem ipsum' 텍스트인 'Lorem ipsum'를 포함하는 문장을 생성해 보겠습니다. 설명이 3개에서 5개까지의 이러한 문장을 포함하도록 하겠습니다:

const createProductData = () => { return { name: `Product${getRandInt(0, 100)}`, desc: faker.lorem.sentences({ min: 3, max: 5 }), price: getRandInt(100, 2000), amount: getRandInt(1, 50), } }

이제 객체에 반응(reactions) 필드를 추가하겠습니다. 값으로는 create 명령으로 즉시 생성된 객체를 전달하겠습니다(반응은 현재 모두 0으로 설정될 것입니다):

const createProductData = () => { return { name: `Product${getRandInt(0, 100)}`, desc: faker.lorem.sentences({ min: 3, max: 5 }), price: getRandInt(100, 2000), amount: getRandInt(1, 50), reactions: db.reaction.create(), } }

마지막 속성으로 이미 생성된 판매자 객체를 추가하겠습니다. 이 객체는 반드시 createProductData 함수의 매개변수로 전달되어야 합니다. 다음은 제품 객체 생성을 위한 함수의 전체 코드입니다:

const createProductData = (seller) => { return { name: `Product${getRandInt(0, 100)}`, desc: faker.lorem.sentences({ min: 3, max: 5 }), price: getRandInt(100, 2000), amount: getRandInt(1, 50), reactions: db.reaction.create(), seller, } }

학생 애플리케이션을 열어보세요. 이번 강의의 내용을 학습한 후, 학생 데이터 객체를 생성하는 함수를 작성해 보세요.

한국어
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
우리는 웹사이트 운영, 분석 및 개인화를 위해 쿠키를 사용합니다. 데이터 처리는 개인정보 처리방침에 따라 이루어집니다.
모두 수락 설정 거부