inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스

24-03-common-components

컴포넌트 props 질문

해결된 질문

171

joka

작성한 질문수 15

0

자잘하게 궁금한게 있으면 여러방식으로 직접해보고는 하는데요 아래의 코드처럼 {...["a", "b", "c"]} 이렇게 props를 전달했을 때 console에는 {0: "a", 1: "b", 2: "c"} 이렇게 없던 배열값의 키값이 생겼습니다. 짐작하기로는 index 위치가 key값이 된 것 같기는 한데 왜 이렇게 되는지 궁금합니다.

ex) parent/index.tsx

import Child from "./child/index.tsx";

export default function Parent(): JSX.Element {
  return <Child {...["a", "b", "c"]} />;
}

ex) parent/child/index.tsx

export default function Child(props: any): JSX.Element {
  console.log(props);  // {0: "a", 1: "b", 2: "c"}

  return <></>;
}

react next.js

답변 1

1

노원두

안녕하세요! joka님!

해당 내용은 react의 props의 내용이라기보다는, javascript에서 기본적으로 제공하는 기능이에요!
배열을 스프레드 시켜 배열에 담으면 자연스럽지만, 객체에 담는 것은 문제가 있겠죠?!
따라서, 배열을 객체에 담기 위해서, 0번째부터 key가 자동으로 지정되어 객체에 담아지게 됩니다!^^

 

아래는 react의 props와는 별개로 javascript 콘솔창의 결과예요!

image

 

fetchBoardsOfMine, fetchBoardsCountOfMine 에러 문의드립니다

0

36

1

댓글 기능 구현 중 질문드립니다.

0

66

1

쿠폰코드 발급

0

132

2

example 서버 플레이그라운드, API 접속 모두 안됩니다.

0

86

2

문의드립니다!! ㅠㅠ

0

101

2

graphql 백엔드 서버가 포폴용 빼곤 접속이 안됩니다.

0

76

2

_app.js 작성 이후로 에러가 발생하네요

0

93

2

학습자료

0

70

2

학습자료가 안열립니다.

0

49

2

플레이 그라운드 퀴즈 문제 질문이 있습니다.

0

59

0

기존강의 구매자, 업데이트 끝인가요?

0

109

3

업데이트 버전 수강

0

88

2

완벽한 프론트엔드

0

136

2

나만의 쇼핑몰 샘플 페이지 접속 확인부탁드립니다.

0

81

1

graphql 접속이 안됩니다.

0

100

2

const, let 사용 질문 드립니다.

0

70

2

싸이월드 만들기 1탄 피드백 부탁드립니다.

0

122

2

회원가입 과제 피드백 부탁드립니다.

0

80

2

styled.span / styled.input "CSS 자동완성"

0

47

1

쿠폰 발급 관련

0

166

2

서버 502 error

0

247

2

쿠폰 다시 부탁드려도 될가여?

0

140

2

a태그 패딩했을때 왜 크기가 줄어들지 않고 늘어나나요

0

184

2

2분 44초 질문

0

131

3