๐Ÿšง Warning: Each child in a list should have a unique "key" prop. ๐Ÿšง

ํ˜œํ˜œยท2023๋…„ 11์›” 19์ผ
0

Error Note

๋ชฉ๋ก ๋ณด๊ธฐ
9/19
post-custom-banner

โ—๋ฌธ์ œ ๋‚ด์šฉ

React ๋‹จ๊ณจ ๊ฒฝ๊ณ ๋ฌธ... map() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ๊ฐ Item๋งˆ๋‹ค ๋…๋ฆฝ์ ์ธ key ๊ฐ’์„ ์„ค์ •ํ•ด์ฃผ์ง€ ์•Š์œผ๋ฉด ๋‚˜ํƒ€๋‚˜๋Š” ๊ฒฝ๊ณ ๋ฌธ์ด๋‹ค. ๋‹จ์ˆœํžˆ ์š”์†Œ๋“ค์„ ๋‚˜์—ดํ•  ๋•Œ ์‚ฌ์šฉํ•˜๊ธฐ๋„ ํ•˜์ง€๋งŒ, ์ด ์š”์†Œ๋“ค์„ ๊ตฌ๋ถ„ํ•ด์•ผ ํ•  ์ˆ˜๋„ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ๊ฐ ์š”์†Œ๋งˆ๋‹ค ๊ณ ์œ ํ•œ key๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์•ผ ํ•œ๋‹ค. index ๊ฐ’์œผ๋กœ ๊ฐ„๋‹จํžˆ ๋„ฃ์„ ์ˆ˜๋„ ์žˆ์ง€๋งŒ, index๋กœ ๊ฐ’์„ ๋„ฃ์„ ๊ฒฝ์šฐ ๊ณ ์ •๋œ ๊ฐ’์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, id ๊ฐ’์„ ๋”ฐ๋กœ ๋„ฃ์–ด์ฃผ๋Š” ๊ฒŒ ๋” ์ข‹๋‹ค๊ณ  ์•Œ๋ ค์ ธ ์žˆ๋‹ค๐Ÿ‘€

โš’๏ธ ๋ฌธ์ œ ํ•ด๊ฒฐ

๊ธฐ์กด ์ฝ”๋“œ

{props.typeDesc.split('\n').map((txt) => (
  <>
  {txt}
  <br />
  </>
))}

ํ•˜์ง€๋งŒ ๋‚˜์˜ ๊ฒฝ์šฐ... ๊ฐ ์š”์†Œ๋ฅผ ๊ตฌ๋ถ„ํ•  ํ•„์š”๋„ ์—†๊ณ , ๋งˆ๋•…ํžˆ ์‚ฌ์šฉํ•  id ๊ฐ’๋„ ๋”ฐ๋กœ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋ƒฅ ํŽธ๋ฆฌํ•˜๊ฒŒ index ๊ฐ’์„ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค ^^; ์ ์ ˆํ•œ ์กฐ๊ฑด์„ ์ถฉ์กฑ์‹œํ‚ค๋Š” ๊ฒฝ์šฐ ์ด๋ ‡๊ฒŒ ์‚ฌ์šฉํ•ด๋„ ๊ดœ์ฐฎ...๋‹ค!

๋ณ€๊ฒฝํ•œ ์ฝ”๋“œ

{props.typeDesc.split('\n').map((txt, idx) => (
  <div key={idx}>
    {txt}
	<br />
  </div>
))}

key ๊ฐ’์œผ๋กœ index๋ฅผ ๋„ฃ์–ด์ฃผ๋ฉด ์†์‰ฝ๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์œผ๋‚˜, ๊ฐ ์š”์†Œ๋ฅผ ๊ตฌ๋ถ„ํ•  ํ•„์š”๊ฐ€ ์žˆ์„ ๋•Œ๋Š” ๋”ฐ๋กœ id ๊ฐ’์„ ์‚ฌ์šฉํ•˜์ž.

๐Ÿ™‡โ€โ™‚๏ธ ์ฐธ๊ณ ์ž๋ฃŒ

[React] ๋ฐฐ์—ด์˜ index๋ฅผ key๋กœ ์“ฐ๋ฉด ์•ˆ ๋˜๋Š” ์ด์œ 

profile
์‰ฝ๊ฒŒ๋งŒ์‚ด์•„๊ฐ€๋ฉด์žฌ๋ฏธ์—†์–ด๋น™๊ณ 
post-custom-banner

0๊ฐœ์˜ ๋Œ“๊ธ€