๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๋‚ด๊ฐ€ ๋งŒ๋‚œ ERROR

[React] Each child in a list should have a unique key prop.

by ์ฝ”๋”ฉํ•˜๋Š” ๋ถ•์–ด 2021. 11. 16.
๋ฐ˜์‘ํ˜•

๋ฆฌ์•กํŠธ๋ฅผ ๊ฐœ๋ฐœํ•˜๋ฉด์„œ ํ•œ๋ฒˆ์ฏค์€ ๋ณด์…จ์„ ๊ฒฝ๊ณ  ๋ฉ”์„ธ์ง€... ๋ผ๊ณ  ํ•œ๋‹ค๐Ÿ˜ฅ

 

 

 

map ํ•จ์ˆ˜์— ๋Œ€ํ•œ ์ดํ•ด๊ฐ€ ๋ถ€์กฑํ–ˆ์„๋•Œ(์†”์งํžˆ ์ง€๊ธˆ๋„ ๋ถ€์กฑํ•จใ…Žใ…Ž) ๋ฐฐ์šด๊ฑธ ์ ์šฉํ•ด๋ณด๋Š๋ผ ์—ด์‹ฌํžˆ ์‚ฝ์งˆํ•˜๊ณ  ์žˆ์—ˆ์Œ..

 

๐Ÿช“  key ๊ฐ’์„ ์ฃผ์ง€ ์•Š์€ Comment.js

import React from 'react';
import './Comment.scss';

class Comment extends React.Component {
  render() {
    const { commentList } = this.props;

    return (
      <>
        <ul className="comment_list">
          {commentList.map(comment => {
            return (
              <li className="comment_box"> // โญ๏ธ key ๊ฐ’์ด ์—†์Œ!!
                <span className="comment_id">{comment.userName}</span>
                <span className="comment_content">{comment.content}</span>
              </li>
            );
          })}
        </ul>
      </>
    );
  }
}

export default Comment;

 

๊ทธ๋Ÿฐ๋ฐ.... npm start๋ฅผ ํ–ˆ๋”๋‹ˆ ๊ฐ‘์ž๊ธฐ ์ด๋Ÿฐ ์—๋Ÿฌ๊ฐ€ ๋–ด๋‹ค. ๋‘๋‘ฅ!

ํ•œ๊ตญ๋ง๋กœ ๋ฒˆ์—ญํ•˜์ž๋ฉด..

โ—๏ธ ๊ฒฝ๊ณ  : ๋ชฉ๋ก์˜ ๊ฐ ํ•˜์œ„์—๋Š” ๊ณ ์œ  ํ•œ "ํ‚ค" ์†Œํ’ˆ์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

์ด๋Ÿด ๋• Javascript์—์„œ ๋ฐฐ์—ด ๊ฐ’์„ ํ•˜๋‚˜์”ฉ ๊บผ๋‚ด์–ด return ํ•  ๋•Œ ๋ฆฌ์•กํŠธ๊ฐ€ ํ•ญ๋ชฉ์„ ์•ˆ์ •์ ์œผ๋กœ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ๋„๋ก ์†์„ฑ์— key ๊ฐ’์„ ์ถ”๊ฐ€ํ•˜์—ฌ return ํ•ด ์ฃผ์–ด์•ผ ํ•œ๋‹ค!!

 

 

๐Ÿช“ key ๊ฐ’์„ ์ค€ ํ›„์˜ Comment.js

import React from 'react';
import './Comment.scss';

class Comment extends React.Component {
  render() {
    const { commentList } = this.props;

    return (
      <>
        <ul className="comment_list">
          {commentList.map(comment => {
            return (
              <li โญ๏ธkey={comment.id} className="comment_box">
                <span className="comment_id">{comment.userName}</span>
                <span className="comment_content">{comment.content}</span>
              </li>
            );
          })}
        </ul>
      </>
    );
  }
}

export default Comment;

Error ๋ฉ”์„ธ์ง€๊ฐ€ ์‚ฌ๋ผ์กŒ๋‹ค! ํ˜ธํ˜ธํ˜ธ

 

 

 

์ฐธ๊ณ  ์‚ฌ์ดํŠธ ๐Ÿ‘‰๐Ÿป ๋ฆฌ์ŠคํŠธ์™€ Key

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€