์นดํ…Œ๊ณ ๋ฆฌ ์—†์Œ

api ๋ฐ์ดํ„ฐ ๋„์šฐ๋Š” ๊ณผ์ • ์ค‘ ์‹œํ–‰์ฐฉ

๋ฐ์ฅฌ๋”” 2023. 10. 18. 15:22

๋ฐ›์•„์˜จ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ์ด ๋ถ€๋ถ„ ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ์‹ถ์–ด.

์ œ๊ณตํ•œ ์ƒ˜ํ”Œ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด ์–ด๋–ค ๊ฒฐ๊ณผ๋ฅผ ๋ณด์—ฌ์ฃผ๊ธธ ์›ํ•˜๋ƒ๋ฉด : ContainerList์•ˆ์— ์ด 2๊ฐœ์˜ ListContent ์ƒ์„ฑ(์ด์œ : recipe์˜ ingredient ๋ฐฐ์—ด์˜ ๊ธธ์ด๊ฐ€ 2์ด๋‹ˆ๊นŒ) : ๊ฐ ListContent ์—๋Š” ์˜จ์ˆ˜ 100 200 335 ์ƒท 300 400 250 ์ด๋ ‡๊ฒŒ ๋ฐ์ดํ„ฐ๊ฐ€ ๋‹ด๊ธฐ๊ธธ ์›ํ•ด

๋„ค, ์ œ๊ณตํ•ด์ฃผ์‹  ๋ฐ์ดํ„ฐ์™€ ์š”๊ตฌ์‚ฌํ•ญ์„ ๋ฐ”ํƒ•์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

menuData.recipes ๋ฐฐ์—ด์—์„œ ๊ฐ recipe์˜ ingredient ๋ฐฐ์—ด์„ ์ˆœํšŒํ•˜๋ฉฐ, ๊ฐ ์žฌ๋ฃŒ์— ๋Œ€ํ•œ ์ˆ˜๋Ÿ‰์„ ๊ฐ ๋ฒ„ํŠผ์— ํ‘œ์‹œํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค.

jsx
{menuData &&
  menuData.recipes &&  
  menuData.recipes[0].ingredient.map((ing, index) => (
    <ListContent key={index}>
      <img style={{ margin: "0 0 0 15px" }} src={Drag} />
      <label style={{ marginLeft: "14px", fontFamily: "Pretendard", fontSize: '20px', width: "418px", height: "40px", background: "#FFFFFF", borderRadius: "8px", paddingLeft:'24px', paddingTop:'16px'}}>
        {ing.ingredientName}
      </label>
      {menuData.recipes.map(recipe => {
        const ingredient = recipe.ingredient.find(i => i.seq === ing.seq);
        return (
          <Button key={recipe.cupId}>
            {ingredient ? ingredient.quantity : 'N/A'}
          </Button>
        );
      })}
      <img style={{ margin:"10" }} src={Del} />
    </ListContent>
))}

์œ„์˜ ์ฝ”๋“œ๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค:

  1. ์ฒซ ๋ฒˆ์งธ ๋ ˆ์‹œํ”ผ(menuData.recipes[0])์˜ ๋ชจ๋“  ์žฌ๋ฃŒ๋ฅผ ์ˆœํšŒํ•ฉ๋‹ˆ๋‹ค.
  2. ๊ฐ ์žฌ๋ฃŒ์— ๋Œ€ํ•ด ์ƒˆ๋กœ์šด ListContent ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  3. ์ด ์ปดํฌ๋„ŒํŠธ ๋‚ด๋ถ€์—์„œ๋Š” ๋ชจ๋“  ๋ ˆ์‹œํ”ผ๋ฅผ ๋‹ค์‹œ ์ˆœํšŒํ•˜์—ฌ ํ•ด๋‹น ์žฌ๋ฃŒ๊ฐ€ ํฌํ•จ๋œ ๊ฒฝ์šฐ ๊ทธ ์ˆ˜๋Ÿ‰์„ ํ‘œ์‹œํ•˜๊ณ , ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ 'N/A'๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

์ด๋ ‡๊ฒŒ ์ˆ˜์ •๋œ ์ฝ”๋“œ๋กœ ์‹œ๋„ํ•ด๋ณด์‹œ๊ณ  ์›ํ•˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•ด์ฃผ์„ธ์š”.