Food.propTypes = {//이름propTypes로 고정
name: PropTypes.string.isRequired,
picuture: PropTypes.string.isRequired,
rating: PropTypes.number.isRequired
//name,picture에는 string을 기대하고 rating에는 number을 기대한다,
}
function Food({name, picture, rating}){
return(
<div>
<h2>I like {name}</h2>
<h4>{rating}/5.0</h4>
<img src={picture} alt={name}/>
</div>
)
}
방법1
function Food({name, picture, rating}){
return(
<div>
<h2>I like {name}</h2>
<h4>{rating}/5.0</h4>
<img src={picture} alt={name}/>
</div>
)
}
방법2
function Food(props){
return(
<div>
<h2>I like {props.name}</h2>
<h4>{props.rating}/5.0</h4>
<img src={props.picture} alt={props.name}/>
</div>
)
}
function App() {
return (
<div>
{foodILike.map(dish => <Food name={dish.name} picture={dish.image} rating={dish.rating}/>)}
</div>
);
}
export default App;
import React from 'react';
import './App.css';
import PropTypes from "prop-types";
const foodILike = [
{
id: 1,
name: "Kimchi",
image: "https://upload.wikimedia.org/wikipedia/commons/thumb/a/a3/Gimchi.jpg/300px-Gimchi.jpg",
rating: 5
},
{
id: 2,
name: "bulgogi",
image: "https://upload.wikimedia.org/wikipedia/commons/c/ce/Bulgogi_2.jpg",
rating: 3
},
{
id: 3,
name: "kimbap",
image: "https://i.pinimg.com/564x/8d/fe/2b/8dfe2b4bad6a46a03b234cd0eb74c9dc.jpg",
rating: 4.9
},
{
id: 4,
name: "samgyetang",
image: "https://imagescdn.gettyimagesbank.com/500/20/384/235/0/1246795361.jpg",
rating: "",
}
];
function Food({name, picture, rating}){
return(
<div>
<h2>I like {name}</h2>
<h4>{rating}/5.0</h4>
<img src={picture} alt={name}/>
</div>
)
}
Food.propTypes = {
name: PropTypes.string.isRequired,
picuture: PropTypes.string.isRequired,
rating: PropTypes.number
}
function App() {
return (
<div>
{foodILike.map(dish => <Food name={dish.name} picture={dish.image} rating={dish.rating}/>)}
</div>
);
}
export default App;
replit을 사용하면서 계정당 500MB의 storage를 제공한다고 한다. 기존의 계정에서 컨테이너를 만들고 라이브러리를 다운로드 할때 "killed"가 뜨면서 다운이 안되길래 계정을 새로 파고 라이브러리를 다운로드 하니 잘된다.