[FE] React.js & Next.js 초기 트러블슈팅

2023. 7. 6. 17:16·프로젝트/나만무

Missing "key" prop for element in iterator

map 함수를 사용할 때 자식 Element를 반복적으로 생성할 때 key 값을 독립적으로 주어야 한다. 그렇지 않으면 해당 에러를 띄운다. 그러나 key 값을 주지 않아도 렌더링하는데는 문제가 없다. 그 이유로는 React.js에서는 DOM 트리를 업데이트할 때 key 속성을 통해 diff 알고리즘을 적용하여 렌더링을 최적화한다고 한다. 그래서 key 속성이 없어도 렌더링에는 문제가 없지만 diff 알고리즘을 적용하지 못하기 때문에 렌더링 성능에 영향을 주게 된다.

import Link from "next/link";

export default function Home() {
  let items: String[] = ["apple", "banana", "coconut", "melon"];
  var i = 0;
  return (
    <div>
      <h1>안녕하세요!</h1>
      <Link href="/dev">이동</Link>
      <div>아무것도 없음</div>
      {items.map((item) => {
        i += 1;
        return (
          <h2 key={i}>
            {item} ${i}
          </h2>
        );
      })}
    </div>
  );
}

 

Next.js 핫리로딩(라이브리로딩) 안됨

Next.js 9.0 version 이상부터는 live reload가 자동 활성화되어있어야 하는데 동작을 하지 않는다.

 

개발자 모드로 실행

npm run dev

라우트 주소와 폴더명을 동일하게

// ./page.tsx
<Link href="/dev">이동</Link>

// 폴더명은 똑같이 dev로
// dev 폴더 내 인덱스 파일의 컴포넌트 이름도 똑같이 작성해야 한다.
// 단, 첫글자는 대문자로
// ./dev/page.tsx
export default function Dev() {
  return (
    <div>
      <h1>안녕하세요! 여기는 dev페이지입니다.</h1>
      <Link href="/">홈</Link>
      <div>배고프다</div>
    </div>
  );
}

'프로젝트 > 나만무' 카테고리의 다른 글

[나만무] 현재 프로젝트 아키텍처 구조v5.0  (0) 2023.07.10
[나만무] ChatGPT 과금 요소  (0) 2023.07.10
[나만무] NGINX를 도입한 이유  (0) 2023.07.09
[나만무] 기술 스택 선정  (0) 2023.07.08
[나만무] 새로 배운 개념  (0) 2023.07.07
'프로젝트/나만무' 카테고리의 다른 글
  • [나만무] ChatGPT 과금 요소
  • [나만무] NGINX를 도입한 이유
  • [나만무] 기술 스택 선정
  • [나만무] 새로 배운 개념
KimCookieYa
KimCookieYa
무엇이 나를 살아있게 만드는가
  • KimCookieYa
    쿠키의 주저리
    KimCookieYa
  • 전체
    오늘
    어제
    • 분류 전체보기 (574) N
      • 혼잣말 (88) N
      • TIL (2)
      • 커리어 (24)
        • Sendy (21)
        • 외부활동 기록 (2)
      • 프로젝트 (186)
        • 티스토리 API (5)
        • 코드프레소 체험단 (89)
        • Web3 (3)
        • Pint OS (16)
        • 나만무 (14)
        • 대회 (6)
        • 정글 FE 스터디 (16)
        • MailBadara (12)
        • github.io (1)
        • 인공지능 동아리, AID (5)
        • 졸업과제 (18)
        • OSSCA 2024 (1)
      • 크래프톤 정글 2기 (80)
      • IT (168)
        • 코딩 (4)
        • CS (18)
        • 에러 (5)
        • 블록체인 (23)
        • Front-End (39)
        • 알고리즘&자료구조 정리 (3)
        • 코딩테스트 (3)
        • BOJ 문제정리 (41)
        • WILT (12)
        • ML-Agents (4)
        • 강화학습 (1)
        • Android (0)
        • LLM (2)
      • 전공 (1)
        • 머신러닝 (1)
      • 자기계발 (20)
        • 빡공단X베어유 (2)
        • 독서 (15)
  • 블로그 메뉴

    • 홈
    • 방명록
    • Github
    • Velog
    • 관리
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    numpy
    니어프로토콜
    사이드프로젝트
    코드프레소
    부산대
    졸업과제
    핀토스
    NEAR Protocol
    센디
    프로그래머스
    Flutter
    MailBadara
    파이썬
    Pint OS
    해커톤
    JavaScript
    자바스크립트
    알고리즘
    pintos
    react
    딥러닝
    docker
    글리치해커톤
    나만무
    OS
    머신러닝
    크래프톤정글
    블록체인
    리액트
    RNN
  • hELLO· Designed By정상우.v4.10.3
KimCookieYa
[FE] React.js & Next.js 초기 트러블슈팅
상단으로

티스토리툴바