반응형
컴포넌트를 만들어서 부모 페이지에 내가 만든 컴포넌트를 보이게 하는 건 이해하기 쉬웠지만
정작 컴포넌트(자식)에 있는 값을 부모에게 주는 방법을 할때 마다 이해가 가지 않았다.
이렇게 정리를 하니까 이해할 수 있었다.
# 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
안에 들어가 있다.
뭔가 할때마다 헷갈렸는데 이번에 쫌 이해한것 같다!
반응형
'Study > React' 카테고리의 다른 글
[자바스크립트] index.html, App.js, index.js 이해하기 (1) | 2022.01.07 |
---|---|
[react] 리액트 시작하기 (create-react-app 설치) (0) | 2022.01.04 |
[자바스크립트] 가격에 콤마 찍기 (0) | 2021.12.13 |
객체에 객체 추가하는 방법 (0) | 2021.05.25 |
얕은 복사, 깊은 복사 비교 (0) | 2021.05.25 |