inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

5.4) Props로 데이터 전달하기

props 질문 있습니다.

523

강태민

작성한 질문수 16

0

const OddEvenResult = ({ count }) => {
  return <div>{count % 2 === 0 ? "짝수" : "홀수"}</div>;
};

export default OddEvenResult;

 

const OddEvenResult = (count ) => {
  return <div>{count % 2 === 0 ? "짝수" : "홀수"}</div>;
};

export default OddEvenResult;

 

count를 props로 넘겼을 때 첫번째는 제대로 동작하지만 2번째는 짝수,홀수 구분을 하지 못합니다.

 

하지만 2번째도 count가인건 인지하고 있습니다
(홀수로 출력되기 때문)

 

counter.js에서 initalvaue가 객체이기 떄문에

oddevenresult에서도 {} 이렇게 받아야 제대로 동작 하는걸까요?

javascript react node.js

답변 2

0

이정환 Winterlood

안녕하세요 이정환입니다.

리액트의 컴포넌트 역할을 하는 함수(위에서는 Counter 라고 볼 수 있겠습니다)는 props를 객체 형태의 매개변수로 전달받습니다.

따라서 올려주신 첫번째 버전의 코드처럼 객체 디스트럭쳐링(구조 분해 할당)을 통해 내부 프로퍼티 값을 꺼내와 사용해야 합니다.

두번째 버전의 코드는 매개변수의 이름을 그냥 count로 정의한 것 인데요, 콘솔에 이를 찍어보시면 { count : 숫자} 이런 형태로 들어가 있을 겁니다. 따라서 컴포넌트에서 Props를 꺼내 올때에는 첫번째 버전처럼 객체임을 인지하고 구조분해 할당과 함께 사용해야 합니다.

0

강태민


import React, { useState } from "react";
import OddEvenResult from "./OddEvenResult";

const Counter = ({ initalValue }) => {
  const [count, setCount] = useState(initalValue);

  const onIncrease = () => {
    setCount(count + 1);
  };

  const onDecrease = () => {
    setCount(count - 1);
  };
  console.log(typeof initalValue);
  return (
    <div>
      <h2>{count}</h2>
      <button onClick={onIncrease}>+</button>
      <button onClick={onDecrease}>-</button>
      <OddEvenResult count={count} />
    </div>
  );
};

Counter.defalutProps = {
  initalValue: 0,
};
export default Counter;

Counter.js입니다.

useEffect와 lifecycle문의

0

6

1

프론트엔드 학습 수준 문의

0

25

2

리액트 챕터별 코드에서 eslint 설정파일이 없어요

0

41

2

데이터 로딩중 화면만 계속 나와요!!

0

51

2

퍼블리셔일경우 어느정도 수준까지 강의를 들어야할까요

0

76

2

이후의 커리큘럼 문의

0

101

2

실슬환경 설정에서 save후 console.log 부분이 새로고침이 안되는현상입니다.

0

49

2

최적화 관련 질문있습니다 (useMemo 등)

0

82

3

프로바이더 컴포넌트의 위치는 어떤 기준인가요?

1

79

3

Date 객체에 관련하여 질문드립니다.

0

82

2

리액트 개정판 교재 질문

0

58

2

예제코드가 안나와요!

0

75

2

select a variant 선택에서 javascript와 javascript+react compiler 중 무엇을 선택해야하나요? com

0

104

2

onMouseEnter 관련 문의 드립니다

0

89

3

배열의 렌더링 관련 질문 드립니다.

0

70

2

2:40초 refObj를 콘솔로 출력시 오류가 발생합니다.

0

111

2

TS, 리액트 강의중에 뭘 먼저 수강하는게 좋을까요?

0

131

2

useCallback 적용한 onCreate, onUpdate, onDelete 함수..

0

66

1

vs code 자동완성관련 문의

0

106

2

91강 useEffect내에서 상태변화함수 호출시 발생하는 에러

1

173

2

87강 필터 함수 질문

0

65

2

useRef, useState count 비교

0

64

2

안된다고했던 이유가 무엇이었는지 모르겠습니다

0

86

2

85강에서 객체를 왜 클래스로 만들어서 new 하지 않는건지 궁금합니다.

0

73

2