인프런 커뮤니티 질문&답변

go122345님의 프로필 이미지
go122345

작성한 질문수

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

Props를 받는 쪽은 무조건 객체 {} 하나만 만드나요?

작성

·

573

0

질문 제목 그대로입니다.
props를 주는쪽은 객체 하나에 모든 값들을 프로퍼티로 보내고,

 

받는쪽도 객체 하나로 모든걸 컨트롤해야한다고,

 

이해하면 될까요?

 

객체 두개( { }로 묶인친구 두 덩어리)를 따로따로 보낼려고 하면 어떻게 해야할지도 모르겠고,

시도만 하면 전부 에러가 납니다...

답변 1

2

이정환 Winterlood님의 프로필 이미지
이정환 Winterlood
지식공유자

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

네 말씀하신대로 리액트에서 Props를 이용한 컴포넌트간의 데이터 교환은 단일 객체로 이루어집니다.

두개의 객체를 Props로 보내시려면 다음과 같이 하시면 됩니다.

function ParentComponent() {
  const objA = {
    hello: "hi",
  };
  const objB = {
    hello: "good bye",
  };
  return <ChildComponent objA={objA} objB={objB} />;
}

function ChildComponent(props) {
  const { objA, objB } = props;
  return <div>this is child</div>;
}
go122345님의 프로필 이미지
go122345
질문자

"단일 객체"로 이루어지니까, 다수의 객체를 보낼려면 부모 컴포넌트에서 그냥 여러개를 보내고 받는 쪽에서 그걸 하나로 "묶어서" 받는다는 말씀이시군요. 만약 저 자식 컴포넌에서

const 자식 컴포넌트 ({objA , objB}) {
//wip

}
이렇게 해도 같은 기능을 수행 하겠군요! 감사합니다.

이정환 Winterlood님의 프로필 이미지
이정환 Winterlood
지식공유자

넵 정확히 이해하셨습니다!

리액트가 이렇게 제작된 이유 중 하나는 '명명된 매개변수' 라는 패턴을 참고해보시면 도움이 될 것 같습니다!

go122345님의 프로필 이미지
go122345

작성한 질문수

질문하기