카테고리 없음
[props] children component로 정보 보내기, 아주 쉬운 map돌리기!
jennayeo
2021. 4. 16. 15:52
컴포넌트 -> 컴포넌트
potato 컴포넌트에 gamtui라는 value로 prop name을 줬다는 뜻
string뿐아니고 boolean, array등도 보낼 수 있음
potato function component의 argument(인자)로 넣을 수있다.
중괄호를 이용해 props object 내부 내용만 가져올 수도있다.
array를 만들어보았다. 이 배열을 Food컴포넌트에서 어떻게 렌더링 할 수 있을까
우선 함수를 만들어주고 맵을 돌려준다.
자바스크립트 문법 {}를 이용해 props를 불러와준다.
import React from "react";
// ./=same directory
function Food({ name, fat_contain }) {
return (
<div>
<h2>I like {name}</h2>
<h3>{fat_contain}</h3>
</div>
);}
const foodILike = [
{
name: "Pizza",
fat: "8"
},
{
name: "Chicken",
fat: "7"
},
{
name: "Yogurt",
fat: "2"
},
{
name: "Mac&Cheese",
fat: "10"
}
]
function App() {
return (
<div>
<h1>Hello</h1>
{foodILike.map(dish => (
<Food name={dish.name} fat_contain={dish.fat}/>))}
{/* foodILike를 map돌리는데 dish를부름(이건 중요X) dish는 그냥 each of the items
자동으로 Food가 ruturn됨 첫번째 dish의 name... */}
</div>
);
}
export default App;
참고로 렌더를 사용하여 똑같은 결과를 볼 수도있다.
다시 이전 코드로 돌아와서 unique key가 필요하다는 에러를 해결해보자
id값을 주고
key값을 넣어준다.
propTypes install후 확인하기: