• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 React 게시판 추천 상품 만드는 중인데 질문이 있습니다.

추천 상품 만드는 중인데 질문이 있습니다.

2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 글쓴이
  • #15980

    용용
    참가자
    import React, { useContext } from 'react'
    import { stockContext } from '../../App.js';
    import { Link } from 'react-router-dom';
    
    function Recommend() {
      const products = useContext(stockContext);
      console.log(products); // 데이터 [{id: 1, title: ABC, price : 300,000...}, {id: 2...}]
    
      let randomArray = [] // 랜덤 id 4개 뽑기
      for (let i = 0; i < 4; i++) {
        let randomNum = Math.floor(Math.random() * products.length)+1;
        if (randomArray.indexOf(randomNum) === -1) {
          randomArray.push(randomNum)
        } else {
          i--
        }
      }
    
      let getRandomItem1 = products.find((item) => { 
        return item.id == randomArray[0];
      });
      let getRandomItem2 = products.find((item) => { 
        return item.id == randomArray[1];
      });
      let getRandomItem3 = products.find((item) => { 
        return item.id == randomArray[2];
      });
      let getRandomItem4 = products.find((item) => {
        return item.id == randomArray[3];
      });
    
    
      return (
        <>
          <div className="recommendation"> 
            <h3>다른 상품 보여주세요</h3>
              <div className="card">
                <Link to={'/product/${getRandomItem1.id}'}>
                  
                  <div>{getRandomItem1.title}</div>
                  <span>{getRandomItem1.price}</span>
                </Link>
              </div>
              <div className="card">
    
              </div>
              <Link to={'/product/${getRandomItem2.id}'}>
                
                <div>{getRandomItem2.title}</div>
                <span>{getRandomItem2.price}</span>
              </Link>
          </div>
        </>
      )
    }
    
    export default Recommend
    
    
    id 랜덤으로 뽑아서 4개만 보여지는 상품 리스트를 만들고 싶어요
    
    getRandomItem1~4로 만들어서 하나씩 입력하니깐 비효율적인거 같아서
    반복문으로 하려고 했는데 계속 실패하고 잘 안돼서 질문드려요 ㅠㅠ
    어떤 식으로 코드를 작성하면 될까요??
    
    
    #15986

    codingapple
    키 마스터

    getRandomItem1 ,2, 3, 4를 어레이에 다 집어넣고 

    어레이.map( (i)=>{

        <div className="card">

        <Link to={'/product/${i.id}'}>

    })

    이런 식으로 하면 안될까요 

2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관, 개인정보처리방침
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠