괴발개발 성장기

Study/React

자식이 부모에게 props를 이용하여 값 전달하기

지니유 2021. 5. 15. 21:08
반응형

컴포넌트를 만들어서 부모 페이지에 내가 만든 컴포넌트를 보이게 하는 건 이해하기 쉬웠지만

정작 컴포넌트(자식)에 있는 값을 부모에게 주는 방법을 할때 마다 이해가 가지 않았다. 

이렇게 정리를 하니까 이해할 수 있었다.

 

# Select 사용하기 위한 컴포넌트 (child)

const SelectType = (props) => {
  return (
    <Select
      placeholder="선택"
      style={{ width: 150, marginLeft: 5, marginRight: 5 }}
      onChange={(value) => {
        props.id(value)
      }}
    >
        <Option value={1}>"핸드폰"</Option>
        <Option value={2}>"이름"</Option>
        <Option value={3}>"제목"</Option>
    </Select>
  );
};

# LIST에 컴포넌트인 SelectType을 가져온다 => 간단히 말해서 부모이다

import SelectType from "../SelectType";
const List = () => {
  const [selectId, setSelectId] = useState(0);
    return (
      <>
        <SelectType
          id={setSelectId}
        />
        <SearchBox></SearchBox>
        <button
          style={{ width: 100, marginLeft: 5, marginRight: 5 }}
          }}
        >
          검색
        </button>

        <Table>
        </Table>
      </>
    );
  }
};

부모(List)는 그릇을 만들어서 자식에게 준다. 자식은 그릇에 값을 넣어 부모에게 다시 돌려준다.
List에 const [selectId, setSelectId] = useState(0); 만든다. 그리고 Id라는 걸 자식에게 보낸다
그럼 자식은 props.id에 값을 넣어서 부모에게 보낸다. 그럼 자식이 보낸 값이 setSelectId안에 들어가 있다.

 

뭔가 할때마다 헷갈렸는데 이번에 쫌 이해한것 같다!

반응형