๐Frontend/๐React
[React] State, Props
Hoon2
2022. 7. 26. 18:06
728x90
State
import React, { useState } from 'react';
const [๊ธ์ ๋ชฉ, ๊ธ์ ๋ชฉ๋ณ๊ฒฝ] = useState([]);
<h4>{ ๊ธ์ ๋ชฉ }</h4>
- state๋ ๋ณ๋์ฌํญ์ด ์๊ธฐ๋ฉด state์ฐ๋ html๋ ์๋์ผ๋ก ์ฌ๋ ๋๋ง
let [ ๋ฐ๋ด, ๋ฐ๋ด๋ณ๊ฒฝ ] = useState(0);
state๋ง๋ค ๋ 2๊ฐ๊น์ง ์๋ช ํ ์ ์๋๋๋ฐ, ๋๋ฒ์งธ ์๋ช ํ๊ฑด state ๋ณ๊ฒฝ์ ๋์์ฃผ๋ ํจ์
๋ฐ๋ด๋ณ๊ฒฝ(์๋ก์ดstate)
์์
function App(){
let [ ๋ฐ๋ด ] = useState(0);
return (
<h4> { ๊ธ์ ๋ชฉ[0] } <span onClick={ ()=>{ ๋ฐ๋ด = ๋ฐ๋ด + 1 } } >๐</span> { ๋ฐ๋ด }</h4>
)
}
* ... : ๋ฐฐ์ด ๋ฒ๊ธฐ๊ธฐ
Props
props๋ก ๋ถ๋ชจ -> ์์ state ์ ์กํ๋ ๋ฒ
- 1. ์์์ปดํฌ๋ํธ ์ฌ์ฉํ๋ ๊ณณ์ ๊ฐ์ <์์์ปดํฌ๋ํธ ์๋ช ={state์ด๋ฆ} />
- 2. ์์์ปดํฌ๋ํธ ๋ง๋๋ function์ผ๋ก ๊ฐ์ props๋ผ๋ ํ๋ผ๋ฏธํฐ ๋ฑ๋ก ํ props.์๋ช ์ฌ์ฉ
function App (){
let [๊ธ์ ๋ชฉ, ๊ธ์ ๋ชฉ๋ณ๊ฒฝ] = useState(['๋จ์์ฝํธ ์ถ์ฒ', '๊ฐ๋จ ์ฐ๋๋ง์ง', 'ํ์ด์ฌ๋
ํ']);
return (
<div>
<Modal ๊ธ์ ๋ชฉ={๊ธ์ ๋ชฉ}></Modal>
</div>
)
}
function Modal(props){
return (
<div className="modal">
<h4>{ props.๊ธ์ ๋ชฉ[0] }</h4>
<p>๋ ์ง</p>
<p>์์ธ๋ด์ฉ</p>
</div>
)
}
- 1. ์์์ปดํฌ๋ํธ ์ฌ์ฉํ๋ ๊ณณ์ ๊ฐ์ <์์์ปดํฌ๋ํธ ์๋ช ={state์ด๋ฆ} />
- 2. ์์์ปดํฌ๋ํธ ๋ง๋๋ ๊ณณ์ ๊ฐ์ props๋ผ๋ ํ๋ผ๋ฏธํฐ ๋ฑ๋ก ํ props.์๋ช ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค.
728x90