component를 reusable하게 써주기 위해 props이라는 애를
써주는데 밑의 예시를 보자
Contact.js라는 파일에
import React from "react"
export default function Contact(props) {
return (
<div className="contact-card">
<img src={props.img}/>
<h3>{props.name}</h3>
<div className="info-group">
<img src="./images/phone-icon.png" />
<p>{props.phone}</p>
</div>
<div className="info-group">
<img src="./images/mail-icon.png" />
<p>{props.email}</p>
</div>
</div>
)
}
그리고 App.js파일에 렌더링해줄때는
import React from "react"
import Contact from "./Contact"
function App() {
return (
<div className="contacts">
<Contact
img="./images/mr-whiskerson.png"
name="Mr. Whiskerson"
phone="(212) 555-1234"
email="mr.whiskaz@catnap.meow"
/>
<Contact
img="./images/fluffykins.png"
name="Fluffykins"
phone="(212) 555-2345"
email="fluff@me.com"
/>
<Contact
img="./images/felix.png"
name="Felix"
phone="(212) 555-4567"
email="thecat@hotmail.com"
/>
<Contact
img="./images/pumpkin.png"
name="Pumpkin"
phone="(0800) CAT KING"
email="pumpkin@scrimba.com"
/>
</div>
)
}
export default App
props는 object이기 때문에 저렇게
img, name, phone,email 애들이 있는거다.
참고로 props대신 객체애들을 이렇게 적어줄수도 있음
Contact.js
import React from "react"
export default function Contact({img, name, phone, email}) {
return (
<div className="contact-card">
<img src={img}/>
<h3>{name}</h3>
<div className="info-group">
<img src="./images/phone-icon.png" />
<p>{phone}</p>
</div>
<div className="info-group">
<img src="./images/mail-icon.png" />
<p>{email}</p>
</div>
</div>
)
}
props 대신에 객체애들 써준거...
근데 그대신 {}이것도 써줘야함..객체니까..
그리고 props.img 대시에 그냥 img이렇게 써줌..