250x250
반응형
- Today
- Total
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- NextJS
- 자바스크립트 순수함수
- 리액트
- no-use-before-define
- query param
- useformstatus
- react
- next.js toast
- angular
- useRouter
- svgr
- 오라클클라우드
- 산업기능요원 훈련소
- The above error occurred in the
- 오블완
- 공익 훈련소
- 비동기 병렬처리
- server action
- resolved to branch.
- react toast
- sessionStorage
- 훈련소 후기
- localStorage
- 자바스크립트
- 사회복무요원 훈련소
- 리액트 알림
- styled-component
- react life sycle
- 리액트 라이프사이클
- 훈련소
Archives
아 그거 뭐였지
[React] 자식 컴포넌트에 객체 props 전달 TypeScript 본문
728x90
반응형
상품리스트를 가져와서 리스트만큼 map을 돌린뒤 자식컴포넌트에게 상품 객체를 던져주는 로직을 작성하고싶었다.
자바스크립트로 작성하면 그냥 넘겨주기만 하면 끝이지만 타입스크립트로 작성하려고하니
넘겨주는 타입과 받는 타입 모두 작성이 필요했다. 넘겨줄때는 어렵지않았는데 받는쪽에서 객체로 받을때 어려움을겪었다.
검색을 통해 방법을 알아내서 기록으로 남긴다.
바로 코드로 알아보자
먼저 넘겨줄 객체의 타입을 인터페이스로 정의해준다. (type이나 interface나 사용자 재량껏 사용)
export interface IProduct{
id: number;
productName: string;
tag: string[];
price: number;
salePrice: number;
img: string;
}
부모컴포넌트
자식컴포넌트(childComponent)로 정의해둔 타입으로 props를 넘겨준다.
{data
? data.map((item: IProduct, idx: number) => {
return <childComponent key={idx} props={item} />;
})
: ''}
자식컴포넌트
헤매고헤맸던 자식컴포넌트에서의 타입정의이다. props가 객체형태이기에 {}로 감싸주고 props의 타입을 지정해주면된다.
const ItemCard = ({ props }: { props: IProduct }) => {
const { productName, price, salePrice, img, tag } = props;
return(
//props를 사용해주면된다.
<div>{productName}</div>
)
}
+ 도움을 받은 블로그
https://cpro95.tistory.com/656?category=929244
728x90
반응형
'Front-End' 카테고리의 다른 글
[JavaScript] Promise.all로 비동기로직 병렬처리하기 (.feat Promise.allSettled) (0) | 2023.02.13 |
---|---|
[React] NextJs query param 값 가져오기 .with useQuery (0) | 2022.11.06 |
[React] useQuery 버튼 누를때만 실행 (1) | 2022.10.23 |
[React] Swiper 이미지 슬라이드 만들기 (Carousel, Fade) (0) | 2022.09.28 |
[React] styled-component input type 변경 - TypeScript (0) | 2022.09.26 |
Comments