props 질문 있습니다.
523
작성한 질문수 16
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에서도 {} 이렇게 받아야 제대로 동작 하는걸까요?
답변 2
0
안녕하세요 이정환입니다.
리액트의 컴포넌트 역할을 하는 함수(위에서는 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
3
1
프론트엔드 학습 수준 문의
0
23
2
리액트 챕터별 코드에서 eslint 설정파일이 없어요
0
41
2
데이터 로딩중 화면만 계속 나와요!!
0
51
2
퍼블리셔일경우 어느정도 수준까지 강의를 들어야할까요
0
75
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





