<star />

State์™€ ์ƒ๋ช…์ฃผ๊ธฐ ๋ณธ๋ฌธ

React ๐Ÿ“

State์™€ ์ƒ๋ช…์ฃผ๊ธฐ

๋ณ„๊น… 2022. 11. 24. 15:52
728x90

** ๋ฆฌ์•กํŠธ ์ปดํฌ๋„ŒํŠธ ์ข…๋ฅ˜ ์ค‘ ์ฃผ๋กœ, ํด๋ž˜์Šค ์ปดํฌ๋„ŒํŠธ์™€ ๊ด€๋ จ๋œ ๋‚ด์šฉ๋“ค์ž…๋‹ˆ๋‹ค. **

 

State ๊ฐ€ ๋ญ์ž„?

> ๋ฆฌ์•กํŠธ ์ปดํฌ๋„ŒํŠธ์˜ ์ƒํƒœ๋ฅผ ์˜๋ฏธํ•จ.

>> ์‰ฝ๊ฒŒ ๋งํ•˜๋ฉด ๋ฆฌ์•กํŠธ ์ปดํฌ๋„ŒํŠธ์˜ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ๋ฅผ state ๋ผ๊ณ  ๋ถ€๋ฆ„.

 

State์˜ ํŠน์ง•

> ๋ฆฌ์•กํŠธ state๋Š” ๊ทธ๋ƒฅ ํ•˜๋‚˜์˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฐ์ฒด์ž„.

>> state ๋Š” ์ง์ ‘์ ์ธ ๋ณ€๊ฒฝ์ด ๋ถˆ๊ฐ€๋Šฅํ•จ.

>>> state ๋ฅผ ๋ณ€๊ฒฝํ•˜๊ณ ์ž ํ•  ๋•Œ์—๋Š” ๊ผญ setState() ๋ผ๋Š” ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์…ˆ.

 

L I F E C Y C L E ์ƒ.๋ช….์ฃผ.๊ธฐ.

 

์‚ฌ๋žŒ์˜ ์ƒ๋ช… ์ฃผ๊ธฐ์— ์ถœ์ƒ ~ ์ธ์ƒ ์—ด์‹ฌํžˆ ์‚ด์•„~ ๋…ธํ™” ~ ์‚ฌ๋ง์ด ์žˆ๋“ฏ์ด...

๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋ฆฌ์•กํŠธ ์ปดํฌ๋„ŒํŠธ๋„ ์ด๋Ÿฌํ•œ ์ƒ๋ช… ์ฃผ๊ธฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Œ.

 

์ปดํฌ๋„ŒํŠธ๊ฐ€ ์ƒ์„ฑ๋˜๋Š” ์‹œ์ ๊ณผ ์‚ฌ๋ผ์ง€๋Š” ์‹œ์ ์ด ์ •ํ•ด์ ธ ์žˆ๋‹ค๋Š” ์˜๋ฏธ.

 

1. Mount

- ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์ƒ์„ฑ๋˜๋Š” ์‹œ์ 

- ์ปดํฌ๋„ŒํŠธ์˜ constructor (์ƒ์„ฑ์ž) ๊ฐ€ ์‹คํ–‰๋จ.

- ์ƒ์„ฑ์ž์—์„œ๋Š” ์ปดํฌ๋„ŒํŠธ์˜ state ๋ฅผ ์ •์˜ํ•˜๊ฒŒ ๋จ.

 

์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋ Œ๋”๋ง ๋˜๋ฉฐ ์ดํ›„์— componentDidMount() ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋จ.

 

2. Update

- ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์ƒ์•  ๋™์•ˆ ๋ณ€ํ™”๋ฅผ ๊ฒช์œผ๋ฉฐ ์—ฌ๋Ÿฌ ๋ฒˆ ๋ Œ๋”๋ง ๋จ.

- ์—…๋ฐ์ดํŠธ ๊ณผ์ •์—์„œ ์ปดํฌ๋„ŒํŠธ์˜ props ๊ฐ€ ๋ณ€๊ฒฝ๋˜๊ฑฐ๋‚˜ setState() ํ•จ์ˆ˜ ํ˜ธ์ถœ์— ์˜ํ•ด state ๊ฐ€ ๋ณ€๊ฒฝ๋˜๊ฑฐ๋‚˜ forceUpdate() ๋ผ๋Š” ๊ฐ•์ œ ์—…๋ฐ์ดํŠธ ํ•จ์ˆ˜ ํ˜ธ์ถœ๋กœ ์ธํ•ด ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋‹ค์‹œ ๋ Œ๋”๋ง๋จ.

 

๋ Œ๋”๋ง ์ดํ›„์— componentDidUpdate() ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋จ.

 

์–ธ๋งˆ์šดํŠธ ์ง์ „์— componentWillUnmount() ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋จ.

 

3. Unmount

- ์ƒ์œ„ ์ปดํฌ๋„ŒํŠธ์—์„œ ํ˜„์žฌ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋” ์ด์ƒ ํ™”๋ฉด์— ํ‘œ์‹œํ•˜์ง€ ์•Š๊ฒŒ ๋  ๋•Œ.

 

๋ฆฌ์•กํŠธ ์ƒ๋ช…์ฃผ๊ธฐ์—์„œ ๊ธฐ์–ตํ•ด์•ผ ๋  ๊ฒƒ

> ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๊ณ„์† ์กด์žฌํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ์‹œ๊ฐ„์˜ ํ๋ฆ„์— ๋”ฐ๋ผ ์ƒ์„ฑ๋˜๊ณ , ์—…๋ฐ์ดํŠธ๋˜๋‹ค๊ฐ€ ์‚ฌ๋ผ์ง„๋‹ค๋Š” ๊ฒƒ.

 

 

 

 

 

728x90

'React ๐Ÿ“' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

์กฐ๊ฑด๋ถ€ ๋ Œ๋”๋ง  (0) 2022.11.28
์ด๋ฒคํŠธ ํ•ธ๋“ค๋ง  (0) 2022.11.26
Hook  (0) 2022.11.23
์ปดํฌ๋„ŒํŠธ  (0) 2022.11.23
Props  (0) 2022.11.23
Comments