function App() {
let post = '๊ฐ๋จ ์ฐ๋ ๋ง์ง';
return (
<div className="App">
<div className="black-nav">
<h4 style={{color:'red',fontSize:'16px'}}>๋ธ๋ก๊ทธ์</h4>
</div>
<h4>{post}</h4>
</div>
);
}
export default App;
1.class๋์ className์ผ๋ก ์ด๋ค.
2.html์ ๋ฐ์ดํฐ๊ฝ์๋ฃ์ ๋(๋ฐ์ดํฐ ๋ฐ์ธ๋ฉ)๋ {๋ณ์๋ช
}
3.style๋ฃ์๋๋ style={{color:'red',...}}
return(<></><></>)
์ด๋ฌ๋ฉด ์๋จ function App() {
let post = '์ญ์ผ ์ฐ๋ ๋ง์ง';
let titleArr = ['๋จ์์ฝํธ ์ถ์ฒ','๊ฐ๋จ ์ฐ๋๋ง์ง','ํ์ด์ฌ๋
ํ']
let [title,setTitle] = useState(titleArr);
let [logo, setLogo] = useState('ReactBlog');
return (
<div className="App">
<div className="black-nav">
<h4>ReactBlog</h4>
</div>
{title.map(el =>
<div className='list'>
<h4>{el}</h4>
<p>2์ 17์ผ ๋ฐํ</p>
</div>
)}
</div>
);
}
/* eslint-disable */
import logo from './logo.svg';
import './App.css';
import { useState } from 'react';
function App() {
let post = '์ญ์ผ ์ฐ๋ ๋ง์ง';
let [๊ธ์ ๋ชฉ,๊ธ์ ๋ชฉ๋ณ๊ฒฝ] = useState(['๋
๊ฐ','๊ฐ๋จ ์ฐ๋๋ง์ง','ํ์ด์ฌ๋
ํ']);
let [๋ฐ๋ด,๋ฐ๋ด๋ณ๊ฒฝ] = useState(0);
// state๋ณ๊ฒฝํจ์ ํน์ง : ๊ธฐ์กด state์ ์ ๊ท state๊ฐ ๊ฐ์ผ๋ฉด ๋ณ๊ฒฝ์ํด์ค
// array/object ํน์ง : ๋ณ์์ ์ฃผ์๊ฐ๋ง ์ ์ฅ๋จ. ๊ฐ์ ram์ ์ ์ฅ๋จ
return (
<div className="App">
<div className="black-nav">
<h4>ReactBlog</h4>
</div>
<button>๊ฐ๋๋ค์์ ๋ ฌ</button>
<button onClick={() => {
let copy = [...๊ธ์ ๋ชฉ];
copy[0] = '์ฌ์์ฝํธ ์ถ์ฒ';
๊ธ์ ๋ชฉ๋ณ๊ฒฝ(copy);
}}>๊ธ์์ </button>
<div className='list'>
<h4>{๊ธ์ ๋ชฉ[0]} <span onClick={() => { ๋ฐ๋ด๋ณ๊ฒฝ(๋ฐ๋ด+1)}}>๐</span> {๋ฐ๋ด} </h4>
<p>2์ 17์ผ ๋ฐํ</p>
</div>
<div className='list'>
<h4>{๊ธ์ ๋ชฉ[1]}</h4>
<p>2์ 17์ผ ๋ฐํ</p>
</div>
<div className='list'>
<h4>{๊ธ์ ๋ชฉ[2]}</h4>
<p>2์ 17์ผ ๋ฐํ</p>
</div>
<div className="modal">
<h4>์ ๋ชฉ</h4>
<p>๋ ์ง</p>
<p>์์ธ๋ด์ฉ</p>
</div>
</div>
);
}
export default App;
<div className="modal">
<h4>์ ๋ชฉ</h4>
<p>๋ ์ง</p>
<p>์์ธ๋ด์ฉ</p>
</div>
์ด๋ฐ์ฝ๋๊ฐ ๋๋ฌด๊ธธ์ด์ง๋ฉด html์ด ๋๋ฌ์์ง๋ค.
<Modal></Modal>
์ด๋ ๊ฒ ํ๋ฉด ๊ฐ๋ ์ฑ์ด ์ข๊ฒ ๋ค
/* eslint-disable */
import './App.css';
import { useState } from 'react';
function App() {
let [๊ธ์ ๋ชฉ,๊ธ์ ๋ชฉ๋ณ๊ฒฝ] = useState(['๋
๊ฐ','๊ฐ๋จ ์ฐ๋๋ง์ง','ํ์ด์ฌ๋
ํ']);
let [๋ฐ๋ด,๋ฐ๋ด๋ณ๊ฒฝ] = useState(0);
return (
<div className="App">
<div className="black-nav">
<h4>ReactBlog</h4>
</div>
<button>๊ฐ๋๋ค์์ ๋ ฌ</button>
<button onClick={() => {
let copy = [...๊ธ์ ๋ชฉ];
copy[0] = '์ฌ์์ฝํธ ์ถ์ฒ';
๊ธ์ ๋ชฉ๋ณ๊ฒฝ(copy);
}}>๊ธ์์ </button>
<div className='list'>
<h4>{๊ธ์ ๋ชฉ[0]} <span onClick={() => { ๋ฐ๋ด๋ณ๊ฒฝ(๋ฐ๋ด+1)}}>๐</span> {๋ฐ๋ด} </h4>
<p>2์ 17์ผ ๋ฐํ</p>
</div>
<div className='list'>
<h4>{๊ธ์ ๋ชฉ[1]}</h4>
<p>2์ 17์ผ ๋ฐํ</p>
</div>
<div className='list'>
<h4>{๊ธ์ ๋ชฉ[2]}</h4>
<p>2์ 17์ผ ๋ฐํ</p>
</div>
<Modal></Modal>
</div>
);
}
function Modal(){
return (
<div className="modal">
<h4>์ ๋ชฉ</h4>
<p>๋ ์ง</p>
<p>์์ธ๋ด์ฉ</p>
</div>
)
}
export default App;
Component ๋ง๋๋๋ฒ
1. function๋ง๋ค๊ณ (๋ค๋ฅธ ์ปดํฌ๋ํธ ๋ฐ์ ๋ง๋ค์ด์ผํจ)
2. return()์์ html๋ด๊ธฐ
3. <ํจ์๋ช
></ํจ์๋ช
> ์ฐ๊ธฐ <ํจ์๋ช
/>๋ ๊ฐ๋ฅ
์ด๋ค๊ฑธ ์ปดํฌ๋ํธ๋ก ๋ง๋ค๋ฉด ์ข์๊ฐ
0. const Modal = () => {return ~} ๋ก ๋ง๋ค์ด๋ ๋จ
1. ๋ฐ๋ณต์ ์ธ html ์ถ์ฝํ ๋
2. ํฐ ํ์ด์ง ํ๋๋ฅผ ์ปดํฌ๋ํธํ ํ ๋
3. ์์ฃผ๋ณ๊ฒฝ๋๋ ui๊ฐ์๊ฒ
๊ตณ์ด html์ ๋ณ๋ ฌ๊ธฐ์
ํ๋ ค๋ฉด <> </>
์ผ๋ก div๋ฅผ ๋ณ๋ ฌ๋ก ๋์์์
์ปดํฌ๋ํธํํ๋๊ฒ ๋จ์ ์ ์์
App()์์ ์ ์ธํ state๋ฅผ Modal()์์ ๋ชป์
๋๋ฌด ๋ณต์กํ๋ค ์ถ์๊ฒ๋ง ์ปดํฌ๋ํธํํ๋๋ก ํ์