import
/ export
๋ฌธ๋ฒ๐ ๊ธฐ๋ณธ ๋ฌธ๋ฒ
1. ๋ด๋ณด๋ด๊ธฐ
export default
โ export default๋ ํ ํ์ผ๋น 1๊ฐ ๋ฐ์ ๋ชป์ด๋ค
2. ๊ฐ์ ธ์ค๊ธฐ
import ๋ณ์๋ช ์๋ช from './๊ฒฝ๋ก'
(ํ์ผ๊ฒฝ๋ก from๋ค์ ๋ถ์ด๊ธฐ)โ ๋ค๋ฅธ ํ์ผ์ ๋ถ๋ฌ์ฌ ๋, ๊ฒฝ๋ก๋ฅผ ์์ฑํ ๋๋ ๋ฌด์กฐ๊ฑด ./ ๋ก ์์ํ๋ค
3. ๋ถ๋ฌ์จ ํ์ผ์ ํ์ฉํ๊ธฐ
return๋ฌธ ๋ด์์ ์ค๊ดํธ({ })์์ ์๋ช ํ ๋ณ์๋ช ์ ๊ฐ์ ธ๋ค ์ด๋ค
{์๋ช ํ ๋ณ์๋ช }
return๋ฌธ ๋ฐ์์ ์๋ช ํ ๋ณ์๋ช ๋ง ๊ทธ๋๋ก ๋ถ์ฌ ์ด๋ค(์ค๊ดํธ์์ด)
let [state, setState] = useState(์๋ช ํ๋ณ์๋ช )
// data.js ํ์ผ export default [ { id: 0, title: "White and Black", content: "Born in France", price: 120000 }, { id: 1, title: "Red Knit", content: "Born in Seoul", price: 110000 }, { id: 2, title: "Grey Yordan", content: "Born in the States", price: 130000 } ] // App.js ํ์ผ import React, { useState } from 'react'; import Data from './data.js'; // import ํด์ data.jsํ์ผ ๋ถ๋ฌ์จ๋ค function App() { let [shoes, setShose] = useState(Data); // shoes๋ผ๋ state์์๋ data.js์์ ๋ด๊ฒจ์๋ object์๋ฃ๊ฐ ๋ชจ๋ ๋ด๊ฒจ์๋ค return ( <div className="col-md-4"> <h4> { shoes[0].title } </h4> // data.js์์ ๋ฐ์ดํฐ ์ค title // arrayํํ๋๊น indexing ํด์ฃผ๊ธฐ!!! <p> { shoes[0].content } & { shoes[0].price } </p> </div> ) }
// App.js ํ์ผ import React, { useState } from 'react'; import Data from './data.js'; import Product from './component.Product.js'; // product.js ํ์ผ ๊ฐ์ ธ์จ๋ค function App() { let [shoes, setShose] = useState(Data); return ( <Product shoes={shoes[0]} /> // ํ์ ์ปดํฌ๋ํธ(product.js)๋ก 0๋ฒ์งธ state ๋ณด๋ด์ฃผ๊ธฐ <Product shoes={shoes[1]} /> // 1๋ฒ์งธ state ๋ณด๋ด์ฃผ๊ธฐ <Product shoes={shoes[2]} /> // 2๋ฒ์งธ state ๋ณด๋ด์ฃผ๊ธฐ // ํ๋ฉด์ Product์ปดํฌ๋ํธ๋ฅผ 3๊ฐ๋ฅผ ๋ณด์ฌ์ฃผ๊ณ ์ถ์ด์ 3๊ฐ๋ก ๋ณด์ฌ์ฃผ๋ ๊ฒ(๋ฐ๋ณต๋ฌธ์ผ๋ก ์ถ์ฝํ์) ) } // Product.js ํ์ผ import React from 'react'; function Product(props) { // props๋ก ๋ฐ๊ธฐ return ( <div className="col-md-4"> <h4> { props.shoes.title } </h4> <p> { props.shoes.content } & { props.shoes.price } </p> </div> ) } export default Product
์ ๋ด์ฉ์ ๋ถ๋ชจ ์ปดํฌ๋ํธ(App.js)์ ๋ฐ์ดํฐ์ธ shoes์ state๋ฅผ ํ์ ์ปดํฌ๋ํธ(Product.js)์ props๋ก ์ ๋ฌํ๋ ๊ณผ์ ์ด๋ค.
๋ถ๋ชจ ์ปดํฌ๋ํธ์์<Product />
๋ฅผ 3๊ฐ๋ฅผ ์์ฑ ํ, ๊ฐ state์ ์ธ๋ฑ์ค๋ณ๋ก ์ ๋ฌํ๋ค. ์ฆ, ์๋ฃ์ index๋งํผ ๋ณต์๋ก ์ ๋ฌํ๊ณ , ํ์ ์ปดํฌ๋ํธ์์๋ indexing์์ด ๊ทธ๋ฅ ๋ฐ๋๋ค.<Product shoes={shoes[0]}
๋ 0๋ฒ์งธ index๋ฅผ ๊ฐ์ง ์ ๋ณด๋ง ์ ๋ฌ,<Product shoes={shoes[1]}
๋ 1๋ฒ์งธ index๋ฅผ ๊ฐ์ง ์ ๋ณด๋ง ์ ๋ฌ ํ๋ ๋ฑ ํ์ ์ปดํฌ๋ํธ์์ index์ ๋ฐ๋ผ ์ฌ๋ฌ๊ฐ์ ํ๊ทธ๋ฅผ ์์ฑํ๋ ๊ฒ์ด ์๋๋ผ ์์ ์ปดํฌ๋ํธ์์ index์ ๋ฐ๋ผ ๋ณ๋๋ก ์ ๋ฌํ๊ธฐ ๋๋ฌธ์, ํ์ ์ปดํฌ๋ํธ๋ indexing์์ด ๊ธฐ๋ณธ ํ๊ทธ๋ก๋ง ๋ฐ๋๋ค.// App.js ํ์ผ ๋ด <Product> ์ปดํฌ๋ํธ ๋ฐ๋ณต๋ฌธ์ผ๋ก ๋๋ฆฌ๊ธฐ import React, { useState } from 'react'; import Data from './data.js'; import Product from './component.Product.js'; function App() { let [shoes, setShose] = useState(Data); return ( // shoes state๋ฅผ ๋ฐ๋ณต๋ฌธ ๋๋ฆฐ๋ค (return๋ฌธ ์์ ๋ฐ๋ณต๋ฌธ์ ์ค๊ดํธ๋ก ๊ฐ์ธ์ค๋ค!!) { shoes.map ( (a, i) => { return <Product shoes={ shoes[i] } key={i} /> // shoes[0], shoes[1], shoes[2] }) } ) }