โ๏ธReact
React๋ ๋ฌด์์ธ๊ฐ
Facebook์์ ๋ง๋ ์คํ ์์ค ํ๋ก์ ํธ
์ฌ์ฉ์ ์ธํฐํ์ด์ค(UI)๋ฅผ ๋ง๋ค๊ธฐ ์ํ JavaScript ๋ผ์ด๋ธ๋ฌ๋ฆฌ
์ ์ธํ ํ๋ก๊ทธ๋๋ฐ, ์ปดํฌ๋ํธ ๊ธฐ๋ฐ
์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ์์๋ฅผ ํตํด UI๋ฅผ ํจ์จ์ ์ผ๋ก ๋น๋
React๋ ์ ์๊ฒผ๋
ํ ํ๋ฆฟ, HTML ์ง์๋ฌธ์ด ์๋ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ํตํ ๊ตฌ์ฑ ์์ ์์ฑ
๋งํฌ์ ๊ณผ ๋ทฐ ๋ก์ง์ ํตํฉ
๋งํฌ์ ๊ณผ์ ์ฐ๊ฒฐ ๋ถํ์
๋ณต์กํ ๋ฆฌ๋ ๋๋ง ๋ฌธ์ ๋ฅผ ํด๊ฒฐ
render
๋ฉ์๋ ํธ์ถ ๊ฐ ๋ณ๊ฒฝ ์ฌํญ์ ์์งํ์ฌ ํจ์จ์ ์ ๋ฐ์ดํธ
React ํ๋ก์ ํธ ์์ํ๊ธฐ
๊ธฐ๋ณธ ์ฃผ์:
localhost:3000
react ์ฑ ์์ํ๊ธฐ
๊ฐ๋ฐ์ฉ CDN ๋งํฌ
๋ฐฐํฌ์ฉ CDN ๋งํฌ
React ํ๋ก์ ํธ ๊ตฌ์กฐ
/public
/node_modules
/src
App.js
index.js
index.css
.gitignore
package.json
README.md
React ๊ฐ๋ฐ์ ๋๊ตฌ
๋ฆฌ์กํธ ๋๋ฒ๊น ํด
https://github.com/facebook/react/tree/main/packages/react-devtools-extensions
JSX
JavaScript๋ฅผ ํ์ฅํ ๋ฌธ๋ฒ์ผ๋ก์ React์์ ์๋ฆฌ๋จผํธ๋ฅผ ์์ฑํ๊ธฐ ์ํด ์ฌ์ฉ
html์ jsx๋ก ๋ณํํ๋ ์ฌ์ดํธ https://transform.tools/html-to-jsx
JSX ์์ ํํ์ ๋ฃ๊ธฐ
{}
์ค๊ดํธ ์์์๋ JavaScript ํํ์์ ์ฌ์ฉํ ์ ์๋ค.
JSX์์ ์์ฑ ๋ฃ๊ธฐ
์์ฑ={๊ฐ}
์์ฑ="๋ฌธ์์ด"
ํํ์๋ฐ์คํฌ๋ฆฝํธ ๋ก์ง๊ณผ ๋ณ์๋ฅผ ๋งํฌ์ ์ ์ฌ์ฉํ ์ ์๋ค.
์์ฑ๋ช
์ CamelCase๋ฅผ ์ฌ์ฉ
์์ฑ ๋ช
์ CamelCase
๋ฅผ ์ฌ์ฉํ์ฌ ์์ฑ(onclick
-> onClick
)
๋ชจ๋ ํ๊ทธ๋ ๋ซํ์ผ ํ๋ค
Fragment
์ต์์ ์์๋ ํ๋์ฌ์ผ ํ๋ค.
์ต์์ ์์๋ฅผ 2๊ฐ ์ฌ์ฉํด์ผ ํ ๋๋ ์๋ฏธ ์๋ divํ๊ทธ ๋ณด๋ค๋ <></>
Fragment๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์ผ๋ค.
Key ์์ฑ ์ฌ์ฉํ๊ธฐ
React์์๋ ๋ฐฐ์ด๋ก ๋ ๋๋งํ ๋ Key ์์ฑ์ด ํ์์ ์ด๋ค.
๋ง์ฐฌ๊ฐ์ง๋ก Fragment๋ฅผ ๋ฐฐ์ด๋ก ๋ ๋๋งํ ๋๋ Key ์์ฑ์ ์ง์ ํด์ผํ๋ค.
๋จ์ถ๋ฌธ๋ฒ์ธ <></>
๋ Key ์์ฑ์ ์ง์ ํ ์ ์๊ธฐ ๋๋ฌธ์ React.Fragment
๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค
Key ์์ฑ์ ์ฌ์ฉํด props ๋ณ๊ฒฝ ์ state ์ด๊ธฐํ
props๊ฐ ๋ณ๊ฒฝ๋๋ฉด state๋ฅผ ์ด๊ธฐํํด์ผ ํ ๋๊ฐ ์๋ค. ์๋ฅผ ๋ค์ด ์ฌ์ฉ์ id๊ฐ์ด ๋ณ๊ฒฝ๋๋ฉด Input ๊ฐ์ ์ด๊ธฐํํด์ผ ํ๋ค. ์ด๋ฐ ๊ฒฝ์ฐ ์ปดํฌ๋ํธ ๋ด๋ถ์์ useEffect๋ฅผ ์ฌ์ฉํ๊ธฐ ๋ณด๋ค key๊ฐ์ ์ง์ ํ์ฌ ์ปดํฌ๋ํธ ์ธ์คํด์ค๋ฅผ ๋ค์ ์์ฑํ ์ ์๋ค
Element
React ์ฑ์์ ์ฌ์ฉ๋๋ ๊ฐ์ฅ ์์ ๋จ์
virtual DOM ๋ ธ๋์ ๊ฐ์ฒด ํํ
์๋ช ์ฃผ๊ธฐ๋ฅผ ๊ฐ์ง์ง ์๋๋ค.
ํ ๋ฒ ์์ฑ๋๋ฉด ๋ณํ์ง ์๋ ๋ถ๋ณ ๊ฐ์ฒด์ด๋ค.
Element ๋ ๋๋ง
๋ฃจํธ DOM ๋ ธ๋
๋ ๋ฆฌ์กํธ ์ฑ์์ ์ผ๋ฐ์ ์ผ๋ก ํ๋์ง๋ง, ๊ธฐ์กด ์ฑ์ ํตํฉํ ๋ ์ฌ๋ฌ ๊ฐ์ ๋ ๋ฆฝ์ ์ธ๋ฃจํธ DOM ๋ ธ๋
๋ฅผ ๋ง๋ค ์๋ ์๋ค.๋ฆฌ์กํธ DOM์ด
๋ฃจํธ DOM ๋ ธ๋
์๋์ ๋ชจ๋ ์๋ฆฌ๋จผํธ๋ฅผ ๊ด๋ฆฌํ๋ค.
๋ฐ๋ผ์ ๋ฆฌ์กํธ DOM์๊ฒ
๋ฃจํธ DOM ๋ ธ๋
์ ๋ ๋๋งํ ์๋ฆฌ๋จผํธ๋ฅผ ์ ๋ฌํ์ฌ ๋ ๋๋ง์ ์ง์ํ๋ค.
์ํ๊ฐ ์๋ค
์๋ฆฌ๋จผํธ๋ ์๋ช ์ฃผ๊ธฐ๋ฅผ ํฌํจํด ๋ฉ์๋, ์ํ๋ฅผ ๊ฐ์ง์ง ์๋๋ค.
๋ณ๊ฒฝ๋ ๋ถ๋ถ๋ง ์
๋ฐ์ดํธ
๋ฆฌ์กํธ DOM์ ํ์ฌ ์ํ์ ๋ณ๊ฒฝ๋ ์ํ๋ฅผ ๋น๊ตํ์ฌ ๋ณ๊ฒฝ์ด ํ์ํ ๋ถ๋ถ๋ง ์ ๋ฐ์ดํธํ๋ค.
Component
Component ์ ์
props
๋ฅผ ์ ๋ ฅ์ผ๋ก ๋ฐ์ React ์๋ฆฌ๋จผํธ๋ฅผ ๋ฐํํ๋ค.React์์๋ ํจ์ํ ์ปดํฌ๋ํธ์ ํด๋์คํ ์ปดํฌ๋ํธ๊ฐ ์๋ค
์ด๋ฆ์ ๋๋ฌธ์๋ก ์์ํ๋ค.
ํจ์ํ ์ปดํฌ๋ํธ
ํจ์ํ ์ปดํฌ๋ํธ - ES6 Arrow function ๋ฌธ๋ฒ
ํด๋์ค ์ปดํฌ๋ํธ - ES6 Class ๋ฌธ๋ฒ
rendering
๋ถ๋ชจ ์ปดํฌ๋ํธ๊ฐ ๋ฆฌ๋ ๋๋ง๋๋ฉด ๋ชจ๋ ํ์ ์ปดํฌ๋ํธ๊ฐ ๋ฆฌ๋ ๋๋ง
props
์์ ์ปดํฌ๋ํธ์์ ์ ๋ฌ๋ฐ๋ ๊ฐ
props
๋ Read Only ๊ฐ์ผ๋ก ์ปดํฌ๋ํธ์์ ์์๋ก ๋ณ๊ฒฝํด์๋ ์๋๋ค.๋ฐ๋ผ์ ์์ํจ์๋ฅผ ํตํด
props
๋ฅผ ๋ค๋ฃฌ๋ค.ํจ์ํ ์ปดํฌ๋ํธ์์๋
{props.์์ฑ๋ช }
ํด๋์คํ ์ปดํฌ๋ํธ์์๋
{this.props.์์ฑ๋ช }
props๋ฅผ ์ ๋ฌ ๋ฐ์ ๋ ๊ตฌ์กฐ ๋ถํด๋ฅผ ์ฌ์ฉํ์ฌ ์์ฑ์ ๋ฐ๋ก ๊ฐ์ ธ์ฌ ์ ์๋ค.
props๋ฅผ ์ ๋ฌ ๋ฐ์ ๋ ๊ตฌ์กฐ ๋ถํด๋ฅผ ์ฌ์ฉํ์ฌ ์์ฑ์ ๋ฐ๋ก ๊ฐ์ ธ์ฌ ์ ์๋ค.
props ๊ธฐ๋ณธ๊ฐ ์ง์ ํ๊ธฐ
๋ชจ๋ props๋ฅผ ์๋ฆฌ๋จผํธ์ ์ ๋ฌํ๊ธฐ
์คํ๋ ๋ ๊ตฌ๋ฌธ์ ์ฌ์ฉํ์ฌ ๋ชจ๋ props, ๋๋ ๋๋จธ์ง props๋ฅผ ์๋ฆฌ๋จผํธ์ ์ ๋ฌํ ์ ์๋ค.
children ์์ฑ
์์ ์ปดํฌ๋ํธ์ ํ๊ทธ ์ฌ์ด๋ก ๋ค์ด์ค๋
content
๊ฐ์ผ๋กprops.children
์ผ๋ก ์ฌ์ฉ
์์ ์
content
๋ก ์ด๋ค ์์ ์๋ฆฌ๋จผํธ๊ฐ ์ฌ ์ง ์์ธกํ๊ธฐ ์ด๋ ค์ธ ๋ ๊ทธ๋๋ก ์ถ๋ ฅ์ผ๋ก ์ ๋ฌ ํ ์ ์๋ค.
์ปดํฌ๋ํธ ๊ตฌ์ฒดํ(ํน์ํ)
๊ตฌ์ฒด์ ์ธ
์ปดํฌ๋ํธ =>์ผ๋ฐ์ ์ธ
์ปดํฌ๋ํธ๋ฅผ ๋ ๋๋ง๊ตฌ์ฒด์ ์ธ ์ปดํฌ๋ํธ(
WelcomeDialog
)์์props
๋ฅผ ์ ๋ฌํ์ฌ ์ผ๋ฐ์ ์ธ ์ปดํฌ๋ํธ(Dialog
) ๊ตฌ์ฒดํ
Pure Component
์์ ํจ์์ ๊ฐ์ด ๋์ผํ ์ ๋ ฅ์ ๋ํด ๋์ผํ ์ถ๋ ฅ์ ๋ ๋๋งํ๋ ์ปดํฌ๋ํธ
๋ค๋ฅธ ๊ฐ์ฒด๋ ๋ณ์๋ฅผ ๋ณ๊ฒฝ์ํค์ง ์๋๋ค.
React์์๋ ํจ์ํ ์ปดํฌ๋ํธ๊ฐ ์์ ํจ์์ผ ๊ฒ์ผ๋ก ์์ํ๊ณ ๋์ํ๋ค
์์ํ๊ฒ ์ ์งํ๋ ๋ฐฉ๋ฒ
props๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์ ์ ๋ ฅ์ ๋ํด ๋๊ฐ์ ๋ ๋๋ง ๊ฒฐ๊ณผ
state๋ฅผ ์ต์ํ์ผ๋ก ์ ์ง
unit test๋ฅผ ์์ฑ
import / export
์ด๋ ๋ฐฉ์์ ์ฌ์ฉํ๋ ์๋ฏธ ์๋ ์ด๋ฆ์ ์ฌ์ฉํ์ฌ์ผ ํ๋ค.
export default () => {}
์ ๊ฐ์ ๋ฐฉ์์ ๊ถ์ฅ๋์ง ์๋๋ค.
๊ธฐ๋ณธ ๋ด๋ณด๋ด๊ธฐ ๋ฐฉ์
๊ธฐ๋ณธ ๋ด๋ณด๋ด๊ธฐ ๋ฐฉ์์ ๊ฐ์ ธ์ฌ ๋ ์ํ๋ ์ด๋ฆ์ผ๋ก ๊ฐ์ ธ์ฌ ์๋ ์๋ค.
๋ช
๋ช
๋ ๋ด๋ณด๋ด๊ธฐ ๋ฐฉ์
๋ช ๋ช ๋ ๋ด๋ณด๋ด๊ธฐ ๋ฐฉ์์ ๊ฐ์ ธ์ฌ ๋ ์์ชฝ์ ์ด๋ฆ์ด ์ผ์นํด์ผ ํ๋ค.
๊ฐ์ ธ์จ ํ์๋ ์ด๋ฆ์ ๋ณ๊ฒฝํ ์์๋ค.
Virtual DOM
The virtual DOM (VDOM) is a programming concept where an ideal, or โvirtualโ, representation of a UI is kept in memory and synced with the โrealโ DOM by a library such as ReactDOM. This process is called reconciliation. -react docs
๊ฐ์ UI๋ฅผ ๋ฉ๋ชจ๋ฆฌ์์ ๊ด๋ฆฌํ๊ณ ์ด๋ฅผ ์ค์ DOM์ ๋๊ธฐํํ๋ ๋ฐฉ์
๋ ๋ ๋จ๊ณ
: ์ปดํฌ๋ํธ๋ฅผ ๋ ๋๋งํ๊ณ ๋ณ๊ฒฝ ์ฌํญ์ ๊ณ์ฐ
์ปค๋ฐ ๋จ๊ณ
: ๋ณ๊ฒฝ ์ฌํญ์ DOM์ ์ ์ฉ
๊ฐ์DOM์ด๋ผ๋ ๋จ์ด๋ฅผ ์ ์ ์์ฐ๋ ์ถ์ธ์ด๋ค. ์ปดํฌ๋ํธ๊ฐ ํญ์ DOM์ ๋ํ๋ด๋ ๊ฒ๋ ์๋๋ค.
State
State๋
์ํ: React์์๋ ๊ตฌ์ฑ ์์๊ฐ ํ๋ฉด์ ํ์ํ๊ธฐ ์ํด ๊ธฐ์ตํด์ผ ํ ๊ฐ๋ค์ ์ํ๋ผ๊ณ ๋ถ๋ฆ ๋๋ค.
๋จ๋ฐฉํฅ ๋ฐ์ดํฐ ํ๋ฆ: ์ํ๋ props๋ฅผ ํตํด ๋จ๋ฐฉํฅ์ผ๋ก ์์ ์์์์ ํ์ ์์๋ก ํ๋ฆ ๋๋ค.
์ญ๋ฐฉํฅ ๋ฐ์ดํฐ ํ๋ฆ: ํ์ ์์์์ ์์ ์์์ ์ํ๋ฅผ ๋ณ๊ฒฝํ๊ณ ์ถ์ ๋ ์์ ์์์์ setter ํจ์๋ฅผ props๋ก ์ ๋ฌ
๋ถ๋ณ์ฑ: React์ ๋ชจ๋ ์ํ๋ฅผ ๋ถ๋ณํด์ผ ํ๋ค. (์ด์ ์ํ์ ํ์ฌ ์ํ๋ฅผ ๋น๊ตํ์ฌ ์ต์ ํ)
ํ์ํ ์ด์
์ง์ญ ๋ณ์๋ ๋ ๋๋ง ๊ฐ์ ๋ฐ์ดํฐ๊ฐ ์ ์ง๋์ง ์๋๋ค.
๋ ๋๋ง ๋ ๋๋ง๋ค ๋ณ์ ๊ฐ์ด ์ด๊ธฐํ
๋ณ์๊ฐ ๋ณ๊ฒฝ๋๋๋ผ๋ ๋ฆฌ๋ ๋๋ง๋์ง ์๋๋ค.
๋ณ์์ ๊ฐ๊ณผ ๋ ๋๋ง๋์ด ๋ณด์ฌ์ง๋ ๊ฐ์ด ๋ค๋ฅผ ์ ์๋ค.
State ๊ณ ๋ฅด๊ธฐ
์๊ฐ์ด ์ง๋๋ ๋ณํจ์์ด ์ ์ง ๋๋ ๊ฐ -> ์ํ๊ฐ ์๋(์์)
๋ถ๋ชจ ์์๋ก ๋ถํฐ ๋ด๋ ค ๋ฐ๋ ๊ฐ -> ์ํ๊ฐ ์๋(props)
์กด์ฌํ๋ ์ํ์ props๋ฅผ ์ฌ์ฉํด ๊ณ์ฐ๋์ด์ง ์ ์๋ ๊ฐ -> ์ํ๊ฐ ์๋(useMemo๋ฅผ ์ฌ์ฉ)
State ์์น ์ ํ๊ธฐ
ํด๋น ์ํ๋ฅผ ์ฌ์ฉํ๋ ๋ชจ๋ ์์๋ฅผ ์ฐพ๊ธฐ
์ฐพ์ ์์๋ค์ ๊ณตํต ์กฐ์ ์์๋ฅผ ์ฐพ๊ธฐ
State ์์น ์ ํ๊ธฐ. ์ ์ ํ ์์น๋ฅผ ์ฐพ์ง ๋ชปํ๋ค๋ฉด ์๋ก์ด ๊ณตํต ์์๋ฅผ ๋ง๋ค์ด ์์์ ์์น์ํค๊ธฐ
๋ฐฐ์ด์ ์ํ๋ก ์ฌ์ฉ
๋ฐฐ์ด์ ์ํ๋ก ์ฌ์ฉํ ๋์๋ ์ฝ๊ธฐ ์ ์ฉ์ผ๋ก ๊ฐ์ฃผํ์ฌ ๋ฐฐ์ด ์์์ ๊ฐ์ ์ง์ ํ ๋นํ๊ฑฐ๋ ๋ณ๊ฒฝํด์๋ ์๋๋ค.
concat
,filter
,slice
,map
๋ฑ์ ์๋ก์ด ๋ฐฐ์ด์ ๋ฐํํ๋ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ์ํ๋ฅผ ์ ๋ฐ์ดํธํ๋ค.
ํผ
์ ์ด ์ปดํฌ๋ํธ
HTML์์์ ํผ์ ์๋ฆฌ๋จผํธ ์์ฒด๊ฐ ๋ด๋ถ ์ํ๋ฅผ ๊ฐ์ง๋ค
React์์๋
State
๋ฅผ ์ฌ์ฉํด **์ ๋ขฐ ๊ฐ๋ฅํ ๋จ์ผ ์ถ์ฒ
**๋ฅผ ํตํด ์ ์ด๋๋ค.
๊ธฐ๋ณธ์ ์ธ Input ์ฌ์ฉ๋ฒ
file Input
์ฝ๊ธฐ ์ ์ฉ ๊ฐ์ผ๋ก React์์ ๋น์ ์ด ์ปดํฌ๋ํธ
ํธ๋ค๋ง ํจ์ ์ฌ์ฌ์ฉ
input
์name
์์ฑ๊ณผState
์ ํค๊ฐ์ ๋์ผํ๊ฒ ์ฌ์ฉ
Input Null๊ฐ ์กฐ์ฌํ๊ธฐ
input
์ valueprop
์ผ๋กnull
์ด๋undefined
๋ฅผ ๋๊ธฐ์ง ์์์ผ ํ๋ค.
ํผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
https://formik.org/
์ธ๋ถ ๋ฐ์ดํฐ
HTTP ์์ฒญ๊ณผ Promise์๋ 3๊ฐ์ง ์ํ ์งํ์ค, ์ฑ๊ณต,์คํจ๊ฐ ์๋ค.
๋ฐ๋์ 3๊ฐ์ง ์ํ์ ๋ํด ๋ชจ๋ ์ฒ๋ฆฌ๋ฅผ ํด์ผ ํ๋ค.
fetch() ๋ก ๊ฐ์ ธ์ค๊ธฐ
useEffect()
->fetch()
useState()
->
๋ก์ปฌ ์คํ ๋ฆฌ์ง๋ก ๊ฐ์ ธ์ค๊ธฐ
key๊ฐ์ ์ฌ์ฉํด ๋ฌธ์์ด ํํ๋ก ์ ์ฅ
๊ฐ์ฒด ์ ์ฅ => JSON ๋ฌธ์์ด๋ก ์ ์ฅ
๊ฐ์ฒด ๋ถ๋ฌ์ค๊ธฐ => JSON ๋ฌธ์์ด ํ์ฑ
๋ชจ๋ ๋๊ธฐ์ ์ธ ์์ ์ด๋ฏ๋ก ์ฑ๋ฅ์ ์ํฅ์ ๋ฏธ์น๋ค.
Context
์ปดํฌ๋ํธ ํธ๋ฆฌ ์ ์ฒด์ ๋ฐ์ดํฐ๋ฅผ ์ ๊ณต
์ ์ญ์ ์ธ ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ๊ธฐ ์ํ ๋ฐฉ๋ฒ
ex. ํ์ฌ ๋ก๊ทธ์ธ ์ ์ , ํ ๋ง, ์ ํธํ๋ ์ธ์ด ๋ฑ
์ค์ ์ฌ์ฉ๋๋ ๊ณณ์ ์ตํ์ ์ปดํฌ๋ํธ์ธ๋ฐ props๋ก ๊ณ์ ๋ด๋ ค ๋ฐ๋ ๊ฒ์ ๋นํจ์จ์ ์ด๊ธฐ ๋๋ฌธ
Context.Provider
Context.Provider
๋ฆฌ์กํธ context์ ๋ฐ์ดํฐ๋ฅผ ๋ฃ๋ ๊ณณ
context๋ฅผ ๊ตฌ๋ ํ๋ ์ปดํฌ๋ํธ์๊ฒ context์ ๋ณํ๋ฅผ ์๋ฆผ
Context.Consumer
Context.Consumer
๋ฆฌ์กํธ context๋ก ๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๋ ๊ณณ
context ๋ณํ๋ฅผ ๊ตฌ๋ ํ๋ ์ปดํฌ๋ํธ.
์์ ์ปดํฌ๋ํธ ์ค ๊ฐ์ฅ ๊ฐ๊น์ด
Provider
์ปดํฌ๋ํธ๊ฐ ์ ๋ฌํ๋ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉContext.Consumer
์ ์์์ ํจ์๋ก์ context์ ํ์ฌ๊ฐ์ ๋ฐ์ -> React ๋ ธ๋๋ฅผ ๋ฐํ
Render Props
๋ ๋๋ง๋๋ ํ๋กํผํฐ
๋ฌด์์ ๋ ๋๋งํ ์ง ์๋ ค์ฃผ๋ ํจ์
์ปดํฌ๋ํธ ์ฌ์ฌ์ฉ์ฑ์ ์ฌ๋ฆด ์ ์๋ค.
https://ko.reactjs.org/docs/render-props.html
๋ชฉ๋ก ๊ฐ์ํ
https://ko.reactjs.org/docs/optimizing-performance.html#virtualize-long-lists
์คํ์ผ๋ง
ํด๋์ค
ํด๋์ค ๋์ ์ผ๋ก ํ ๋นํ๊ธฐ
Event
์ด๋ฒคํธ ํจ์ ์ด๋ฆ์ ๊ด๋ก์ ์ผ๋ก
handle
๋ก ์์ํ๊ณ ๋ค์๋ ๋๋ฌธ์๋ฅผ ์ฌ์ฉ(ex. handleClick)ํจ์ ๊ฒฐ๊ณผ๊ฐ ์๋ ํจ์ ์์ฒด๋ฅผ ์ ๋ฌ
props๋ก ์ด๋ฒคํธ ํธ๋ค๋ฌ ์ ๋ฌ
props๋ก ์ด๋ฒคํธ ํธ๋ค๋ฌ๋ฅผ ์ ๋ฌํ ๋๋
on
์ผ๋ก ์์ํ๊ณ ๋ค์๋ ๋๋ฌธ์๋ฅผ ์ฌ์ฉ(ex. onClick)
์ด๋ฒคํธ ์ ํ ์ค์ง
๊ธฐ๋ณธ ๋์ ๋ฐฉ์ง
Last updated