global state
์ ์ญ ์ํ๋
์ฑ๊ธํด์ด๋ฉฐ, ํน์ ์ปจํ ์คํธ์์ ์ํ๊ฐ ํ๋์ ๊ฐ์ ๊ฐ์ง๊ณ ์๋ค๋ ๊ฒ์ ์๋ฏธํ๋ค.
๊ณต์ ์ํ์ด๋ฉฐ, ์ด๋ ์ํ ๊ฐ์ด ๋ค๋ฅธ ์ปดํฌ๋ํธ ๊ฐ์ ๊ณต์ ๋๋ ๊ฒ์ ์๋ฏธํ์ง๋ง, ์๋ฐ์คํฌ๋ฆฝํธ ๋ฉ๋ชจ๋ฆฌ์์์ ๋จ์ผ ๊ฐ์ผ ํ์๋ ์๋ค. ์ฑ๊ธํด์ด ์๋ ์ ์ญ ์ํ๋ ์ฌ๋ฌ ๊ฐ์ ๊ฐ์ง ์ ์๋ค.
์ฑ๊ธํด์ด ์๋ ์ ์ญ ์ํ ์์
const createContainer = () => {
let base = 1;
const addBase = (n) => n + base
const changeBase = (b) => { base = b }
return { addBase, changeBase }
}
const container1 = createContainer()
const container2 = createContainer()
container1.changeBase(10)
console.log(container1.addBase(2)) // 12
console.log(container2.addBase(2)) // 3
ํด๋น ์์ ์์ base๊ฐ ๊ฐ ์ปจํ ์ด๋์ ๊ฒฉ๋ฆฌ๋ผ ์๊ธฐ ๋๋ฌธ์ container1๊ณผ container2๋ ์๋ก ์ํฅ์ ์ฃผ์ง ์๋๋ค.
์ ์ญ ์ํ๊ฐ ํ์ํ ๋
props๋ก ์ ๋ฌํ๊ธฐ ์ด๋ ค์ด ์ํ
์ด๋ฏธ ๋ฆฌ์กํธ ์ธ๋ถ์ ์ํ๊ฐ ์์ ๋
prop์ ์ ๋ฌํ๋ ๊ฒ์ด ์ ์ ํ์ง ์์ ๋
์ปดํฌ๋ํธ ํธ๋ฆฌ์์ ๋ฉ๋ฆฌ ๋จ์ด์ง ๋ ์ปดํฌ๋ํธ๊ฐ ์ํ๋ฅผ ๊ณต์ ํด์ผ ํ ๊ฒฝ์ฐ, ์ฌ๋ฌ ๋จ๊ณ๋ก ๊ตฌ์ฑ๋ ์ปดํฌ๋ํธ๋ฅผ ํตํด props๋ฅผ ์ ๋ฌํ๋ ์์ ์ ๋ฒ๊ฑฐ๋กญ๋ค. ์ํ๊ฐ ๋ณ๊ฒฝ๋ ๊ฒฝ์ฐ ์ค๊ฐ ์ปดํฌ๋ํธ๋ ๋ฆฌ๋ ๋๋ง๋์ด ์ฑ๋ฅ์ ์ํฅ์ ์ค ์ ์๋ค.
Last updated