๐ฏ ์ค๋ ๊ณต๋ถํ ๊ฒ
- [React] JSX ๋ฌธ๋ฒ
- [React] ํด๋์คํ ์ปดํฌ๋ํธ vs ํจ์ํ ์ปดํฌ๋ํธ
- [React] props ๊ฐ๋
- props์ ๊ฐ์ ์ด๋์ ์ ํด์ฃผ๋ ๊ฑด์ง ์ด๋ฐ๊ฒ ์ข ํท๊ฐ๋ ค์ ๋ถ๋ชจ ์ปดํฌ๋ํธ์ธ App.js๋ฅผ ์ง์ง ๋ถ๋ชจ๋ก, ์์ ์ปดํฌ๋ํธ์ธ Children.js์ ์ง์ง ์์์ผ๋ก ๊ฐ์ ํ๋ ๋น์ ๋ฅผ ์๊ฐํด๋ดค๋ค.
./App.js
import React, { Component } from 'react';
import Children from './components/Children';
class App extends Component {
render() {
return (
<div className="App">
{/* ๋ถ๋ชจ๊ฐ ์๋
์๊ฒ ์ฅ๋ํฌ๋ง์ ์ ์๋์ผ๋ก,
๋ฏธ๋ ์ฌํ
ํฌ๋ ๋ถ๋์ฐ์ผ๋ก ํ๋ผ๊ณ ์ฃผ์
ํ๋ค */}
<Children futureJob="teacher" investment="real_estate"></Children>
</div>
)
}
}
export default App;
./components/Children.js
import React, { Component } from 'react';
class Children extends Component {
render() {
return (
<article>
{/* ์์์ด ๋ฏธ๋์ ์ด๋ค ์ง์
์ ๊ฐ์ง์ง,
์ด๋ค ์ฌํ
ํฌ๋ฅผ ์ ํํ ๊ฒ์ธ์ง
๊ทธ ๊ฐ์ ๋ด์ ๊ทธ๋ฆ(key)์ ์์์๊ฒ ์๋ค */}
<p>์ฅ๋ํฌ๋ง : {this.props.futureJob}</p>
<p>์ฌํ
ํฌ ๋ฐฉ๋ฒ : {this.props.investment}</p>
</article>
)
}
}
// ๋ถ๋ชจ๊ฐ ๊ฐ์ ์ง์ ํ์ง ์๋๋ค๋ฉด
// ์์์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ํฐ์คํธ๊ฐ ๋ ๊ธฐ์ง์ ๊ฐ๊ณ ์์๋ค
Children.defaultProps = {
futureJob: "artist"
}
export default Children;
- ์ด๊ฒ ๋ญ ๋ง์ธ๊ฐ ์ถ์ ์ ์์ง๋ง ๊ทธ๋ฅ ๋ด๊ฐ ์ ํท๊ฐ๋ฆฌ๋ ค๊ณ ์๊ฐํด๋ณธ ๋น์ ๋ค.
- ๊ฒฐ๋ก ์ ์ผ๋ก, ๋ถ๋ชจ ์ปดํฌ๋ํธ์์ ์์ ์ปดํฌ๋ํธ์ props๋ก ๊ฐ์ ์ฃผ์ ํ๋ ๊ฒ์ด์๋ค.
๐ ๋ณด์ถฉํด์ผ ํ ๊ฒ
- [React] props, state ๊ฐ๋ ์ ๋ฆฌ
๐ Reflection
- ๋ฆฌ์กํธ๋ฅผ ์์ํ๋ค. ๊ต์ฌ๋ ์ํ์ฝ๋ฉ ์ฑ ์ธ๋ฐ, ์ฌ์ด ์ธ์ด๋ก ์ฐ์ฌ์ ธ ๊ธ๋ฐฉ ์ฝ์ ์ ์์ ๊ฑฐ๋ผ๊ณ ์๊ฐํ๊ณ ํธ๊ธฐ๋กญ๊ฒ ์ค๋ ์์ ๋ค ์ฝ๊ฒ ๋ค๊ณ ๊ณํ์ ์ธ์ ๋๋ฐ ๊ทธ๊ฑด ์ญ์ ์๋๋ค.
- ๋ธ๋ก๊ทธ์ ๊ณต๋ถํ ๋ด์ฉ์ ์ ๋ฆฌํ ๋ ๋ด๊ฐ ์ดํดํ ๋๋ก ์ ๋ฆฌํ์! ํ๋ ๋ง์์ผ๋ก ๋น์ ๋ฅผ ๋ค์ด ์ ๋ฆฌํด๋ดค๋๋ฐ ๋ ์์ ์ด ๋๋ฌด ๋ฌธ๊ณผ ์ธ๊ฐ์ธ๊ฐ? ํ๋ ์ฝ๊ฐ์ ์๊ดด๊ฐ์ด ๋ ๋ค... ใ ์ด๋ฐ ๊ฑฐ ๋ง๊ณ ์ ค ์ข์ ๊ฑฐ๋ ํผ์ ํ๋ก์ ํธํ๊ณ ์ฝ์งํ๊ณ ํด๊ฒฐํ๋ ๊ฒฝํ์ ๊ธ๋ก ๋จ๊ธฐ๋ ๊ฒ์ผํ ๋ฐ... ์ฃผ๋ง์๋ ๊ผญ ํ๋ก์ ํธ ๊ตฌํํ์ ใ
- ๋ด์ผ๋ถํฐ ๋ฆฌ์กํธ ์คํฐ๋๋ฅผ ์์ํ๊ธฐ๋ก ํ๋ค. ์ด์ฌํ ํ์.
'TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [TIL] 20210710 (2) | 2021.07.11 |
|---|---|
| [TIL] 20210709 (0) | 2021.07.10 |
| [TIL] 20210707 (0) | 2021.07.08 |
| [TIL] 20210706 (2) | 2021.07.07 |
| [TIL] 20210705 (0) | 2021.07.06 |