๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์ฝ”๋”ฉ ์šฉ์–ด

[React]React๋ž€? React ๊ฐœ๋…

728x90

ํ”„๋ก ํŠธ์—”๋“œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(React, Angular, Vue)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 

: DOM ์š”์†Œ๋“ค์ด ๋ณ€ํ™”ํ•˜๋ฉด ๋ Œ๋” ํŠธ๋ฆฌ๋ฅผ ์žฌ์ƒ์„ฑ, ๋ฆฌํ”Œ๋กœ์šฐ, ๋ฆฌํŽ˜์ธํŠธ ๊ณผ์ •์„ ๊ฑฐ์น˜๋Š”๋ฐ, ์ด๊ฒƒ์ด ๋ฐ˜๋ณต๋ ์ˆ˜๋ก ๋งŽ์€ ์—ฐ์‚ฐ์„ ํ•จ์œผ๋กœ ์ด๋Š” ์ „์ฒด์ ์ธ ํ”„๋กœ์„ธ์Šค์˜ ๋น„ํšจ์œจ์„ฑ์„ ์•ผ๊ธฐํ•œ๋‹ค.

-> ์œ„์™€ ๊ฐ™์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” DOM ๊ด€๋ฆฌ์™€ ์ƒํƒœ ๋ณ€ํ™” ๊ด€๋ฆฌ๋ฅผ ์ตœ์†Œํ™”ํ•˜๊ณ , ๊ฐœ๊ฐœ๋ฐœ์ž๊ฐ€ ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ๊ณผ UI์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค€๋‹ค.

 

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œ์‹œํ‚จ

๋ฆฌ์—‘ํŠธ

 

1. ์ž๋™์œผ๋กœ UI๋ฅผ ์—…๋ฐ์ดํŠธํ•œ๋‹ค.

์ƒˆ๋กœ๊ณ ์นจ ํ•˜์ง€ ์•Š์•„๋„ ์ž๋™์œผ๋กœ ์—…๋ฐ์ดํŠธ๋œ๋‹ค.

2. ์ฝ”๋“œ ์žฌ์‚ฌ์šฉ์„ ๋งŽ์ด ํ•œ๋‹ค.

3. JSX(JS+HTML) ๋ฌธ๋ฒ•์œผ๋กœ ์ฝ”๋“œ ์ •๋ฆฌ๊ฐ€ ๊น”๋”ํ•˜๋‹ค.

 

 

ํŽ˜์ด์Šค๋ถ ๊ฐœ๋ฐœํŒ€์ด ์–ด๋–ค ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณ€ํ•  ๋•Œ๋งˆ๋‹ค ์–ด๋–ค ๋ณ€ํ™”๋ฅผ ์ค„์ง€ ๊ณ ๋ฏผํ•˜์ง€ ์•Š๊ณ , 

๊ทธ๋ƒฅ ๊ธฐ์กด ๋ทฐ๋ฅผ ๋‚ ๋ฆฌ๊ณ  ์ฒ˜์Œ๋ถ€ํ„ฐ ์ƒˆ๋กœ ๋ Œ๋”๋ง ํ•˜๋Š” ๋ฐฉ์‹์„ ๊ณ ์•ˆํ•œ ๊ฒŒ ๋ฆฌ์—‘ํŠธ

 

์ด๋กœ์จ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ์กฐ๊ฐ€ ๋งค์šฐ ๊ฐ„๋‹จํ•ด์ง€๊ณ  ์ฝ”๋“œ์–‘๋„ ์ค„๋ฉด์„œ ๋” ์ด์ƒ ์–ด๋–ป๊ฒŒ ๋ณ€ํ™”๋ฅผ ์ค„์ง€ ์‹ ๊ฒฝ ์“ธ ํ•„์š”๊ฐ€ ์—†์–ด์กŒ๋‹ค.

๊ทธ์ € ๋ทฐ๊ฐ€ ์–ด๋–ป๊ฒŒ ์ƒ๊ธธ์ง€ ์„ ์–ธํ•˜๊ณ , ๋ฐ์ดํ„ฐ ๋ณ€ํ™” ์‹œ ๊ธฐ์กด์— ์žˆ๋˜ ๊ฒƒ์„ ๋ฒ„๋ฆฌ๊ณ  ๊ทœ์น™์— ๋”ฐ๋ผ ์ƒˆ๋กœ ๋ Œ๋”๋ง ํ•˜๋ฉด ๋!

MVC, MCW๋„ ์•„๋‹Œ ์˜ค์ง V๋งŒ ์‹ ๊ฒฝ ์“ฐ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค.

 

๋ฆฌ์—‘ํŠธ์—์„œ ์ปดํฌ๋„ŒํŠธ๋ž€?ใ€€ใ€€

>> ํŠน์ • ๋ถ€๋ถ„์ด ์–ด๋–ป๊ฒŒ ์ƒ๊ธธ์ง€ ์ •ํ•˜๋Š” ์„ ์–ธ์ฒด, ์žฌ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•œ API๋กœ ์ˆ˜๋งŽ์€ ๊ธฐ๋Šฅ๋“ค์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

์ปดํฌ๋„ŒํŠธ ํ•˜๋‚˜์—์„œ ํ•ด๋‹น ์ปดํฌ๋„ŒํŠธ์˜ ์ƒ๊น€์ƒˆ์™€ ์ž‘๋™ ๋ฐฉ์‹์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

 

Q. ๋ฆฌ์—‘ํŠธ์—์„œ๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณ€ํ• ๋•Œ๋งˆ๋‹ค ์ƒˆ๋กญ๊ฒŒ ๋ฆฌ๋ Œ๋”๋งํ•˜๋ฉด์„œ ์„ฑ๋Šฅ์„ ์•„๋‚„ ์ˆ˜ ์žˆ์„๊นŒ?

(๋ Œ๋”๋ง:์‚ฌ์šฉ์ž ํ™”๋ฉด์— ๋ทฐ๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ฒƒ)

A. Virtual DOM์„ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ!

Virtual DOM ๋ฐฉ์‹์œผ๋กœ DOM ์—…๋ฐ์ดํŠธ๋ฅผ ์ถ”์ƒํ™”ํ•˜์—ฌ DOM์„ ์ตœ์†Œํ•œ์œผ๋กœ ์กฐ์ž‘ํ•˜์—ฌ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•œ๋‹ค.

๋ฆฌ์—‘ํŠธ์—์„œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณ€ํ•ด DOM์„ ์—…๋ฐ์ดํŠธํ•  ๋•Œ ๋‹ค์Œ ์„ธ ๊ฐ€์ง€ ๊ณผ์ •์„ ๊ฑฐ์นœ๋‹ค.

1. ๋ฐ์ดํ„ฐ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋ฉด ์ „์ฒด UI๋ฅผ Virtual DOM์— ๋ฆฌ๋žœ๋”๋งํ•œ๋‹ค.

2. ์ด์ „ Virtual DOM์˜ ๋‚ด์šฉ๊ณผ ํ˜„์žฌ ๋‚ด์šฉ์„ ๋น„๊ตํ•œ๋‹ค.

3. ๋ฐ”๋€ ๋ถ€๋ถ„๋งŒ ์‹ค์ œ DOM์— ์ ์šฉํ•œ๋‹ค.

๋ฆฌ์—‘ํŠธ์—์„œ ๋ทฐ๋ฅผ ์—…๋ฐ์ดํŠธํ•  ๋•Œ๋Š” "์—…๋ฐ์ดํŠธ" ๋ณด๋‹จ "์กฐํ™”"๋ฅผ ๊ฑฐ์นœ๋‹ค๊ณ  ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ์ด ์ •ํ™•ํ•˜๋‹ค.

์ปดํฌ๋„ŒํŠธ์—์„œ ๋ฐ์ดํ„ฐ์— ๋ณ€ํ™”๊ฐ€ ์žˆ์„ ๋•Œ ๋ณ€ํ™”์— ๋”ฐ๋ผ ๋ทฐ๊ฐ€ ๋ณ€ํ˜•๋˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด์ง€๋งŒ,

์‚ฌ์‹ค์€ ์ƒˆ๋กœ์šด ์š”์†Œ๋กœ ๊ฐˆ์•„๋ผ์šฐ๋Š” ๊ฒƒ์ด๋‹ค.

 

 

728x90