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

์ปดํฌ๋„ŒํŠธ4

[React] Rerendering(๋ฆฌ๋ Œ๋”๋ง) ๋ฆฌ์•กํŠธ๋ฅผ ๊ณต๋ถ€ํ•˜๋‹ค๋ณด๋ฉด, ํšจ์œจ์„ฑ์ด๋ผ๋Š” ๋‹จ์–ด๋ฅผ ๋นผ๋†“์„ ์ˆ˜๊ฐ€ ์—†๋Š” ๊ฒƒ ๊ฐ™๋‹ค. ์ €๋ฒˆ์— ์ •๋ฆฌํ–ˆ๋˜ DOM์—์„œ์˜ ๊ฐ€์ƒ ๋”๋„ ๊ทธ๋ ‡๊ณ , ์–ด๋–ค ํ•œ ๊ฐœ๋…์„ ๊ณต๋ถ€ํ•  ๋•Œ๋งˆ๋‹ค ๊ทธ ๊ฐœ๋…์ด ํšจ์œจ์ ์ด๊ฒŒ ๋„์™€์ค€๋‹ค๊ณ  ํ•˜๋Š” ๊ฒƒ์ด ๋งŽ๋‹ค๋Š”๊ฒƒ์ด๋‹ค. ๋‚˜๋Š” ์ „์— ์ด๋Ÿฐ ์งˆ๋ฌธ์„ ๋ฐ›์€ ์ ์ด ์žˆ๋‹ค. '๋ฆฌ๋ Œ๋”๋ง์ด ๋ญ”์ง€ ์•„์‹œ๋‚˜์š”?' ์ด ๊ธ€์„ ๋ณด๋Š” ์—ฌ๋Ÿฌ๋ถ„๋“ค์€ ๋ฌด์Šจ ๋Œ€๋‹ต์„ ํ•˜๊ฒ ๋Š”๊ฐ€? ๋‚˜๋Š” ๊ทธ๋•Œ๋Š” ๋ถ€๋„๋Ÿฝ์ง€๋งŒ ๋ฆฌ๋ Œ๋”๋ง์ด ๊ทธ๋ƒฅ ๋ Œ๋”๋ง์„ ๋‹ค์‹œํ•œ๋‹ค๋Š” ๊ฑฐ ์•„๋‹Œ๊ฐ€? ์ด๋ ‡๊ฒŒ ์ƒ๊ฐํ–ˆ์—ˆ๋‹ค. ์‚ฌ์‹ค ๋ง ๋œป์€ ๊ทธ๋ ‡๋‹ค. ํ•˜์ง€๋งŒ, ์งˆ๋ฌธ์˜ ์˜๋„๊ฐ€ ๊ณผ์—ฐ ์ง„์งœ ๋œป์„ ๋ฌผ์–ด๋ณด๋Š” ๊ฒƒ์ด์—ˆ์„๊นŒ? ์ด๋•Œ ๋ชจ๋“  ์งˆ๋ฌธ์— ๋‹ต์„ ๊ฐœ๋–ก๊ฐ™์ด ํ•œ ๋‚˜๋Š” ์ง‘์— ์™€์„œ ์ฐจ๋ถ„ํžˆ ๋‹ค ์ ์–ด๋†จ์—ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‹ค์‹œ ๊ณต๋ถ€ํ•˜๋ฉด์„œ ์ฑ„์›Œ๋‚˜๊ฐ€๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค. ๋ฆฌ๋ Œ๋”๋ง์€ ๋ฌด์—‡์ธ์ง€ ๊ทผ๋ณธ๋ถ€ํ„ฐ ์•Œ์•„์•ผํ•˜๋ฉฐ, ์™œ ์ด๊ฑธ ์•Œ์•„์•ผํ•˜๋Š”์ง€, ์–ด๋””์—์„œ ์ด ๊ฐœ๋…์ด ์“ฐ์ด๋Š”.. 2021. 6. 24.
[React] ํˆฌ๋‘๋ฆฌ์ŠคํŠธ ์ปดํฌ๋„ŒํŠธ ๊ตฌ์กฐ&์ฝ”๋“œ ๋ถ„์„ ๐Ÿ“–๋ฆฌ์•กํŠธ๋ฅผ ๋‹ค๋ฃจ๋Š” ๊ธฐ์ˆ ์„ ํ†ตํ•ด ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ๋ฐ”ํƒ•์œผ๋กœ ์ž‘์„ฑํ•œ ํฌ์ŠคํŠธ์ž…๋‹ˆ๋‹ค.๐Ÿ“– ์˜ค๋Š˜์€ ๊ทธ๋™์•ˆ ๋ฐฐ์› ๋˜ ์ปดํฌ๋„ŒํŠธ๋“ค์„ ์ค‘์‹ฌ์œผ๋กœ ํ•  ์ผ์„ ์ž‘์„ฑํ•˜๊ณ  ๊ธฐ๋กํ•˜๋Š” ํˆฌ๋‘๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค์–ด๋ณด์•˜๋‹ค. ์ฒ˜์Œ์œผ๋กœ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์™„์„ฑ๋œ ํ•œ ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค์–ด๋ณด๋Š” ๊ฑฐ๋ผ ์˜ˆ์ œ๋ฅผ ๋”ฐ๋ผํ•˜๋ฉด์„œ๋„ ์ปดํฌ๋„ŒํŠธ๊ฐ„์˜ ๊ตฌ์กฐ์™€ ์„ธ์„ธํ•˜๊ฒŒ ์“ฐ์ด๋Š” ์†์„ฑ๋“ค์— ๊ด€ํ•ด ๋” ์ž์„ธํ•˜๊ฒŒ ์•Œ๊ณ  ์‹ถ์—ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ , ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š”๋ฐ ์žˆ์–ด ๊ถ๊ธˆํ•œ ๋ถ€๋ถ„๋“ค์ด ๋งŽ์ด ์žˆ์–ด์„œ ์ •๋ฆฌํ•ด๋ณด์•˜๋‹ค. ์ผ๋‹จ ์ •๋ฆฌํ•œ ๋ถ€๋ถ„์€ ํˆฌ๋‘๋ฆฌ์ŠคํŠธ์˜ ์ปดํฌ๋„ŒํŠธ ๊ตฌ์กฐ import cn from {classnames}; ๋ฆฌ์•กํŠธ๋กœ ๋งŒ๋“  ํˆฌ๋‘๋ฆฌ์ŠคํŠธ ์ฝ”๋“œ ์›๋ž˜๋Š” ์ฝ”๋“œ๋ฅผ ๋‹ค ๋”ฐ๋กœ ์˜ฌ๋ฆฌ๋ ค๊ณ  ํ–ˆ์ง€๋งŒ, ๋งŒ๋“  ํŒŒ์ผ๋„ ๋งŽ๊ณ  ํ•˜๋‹ค๋ณด๋‹ˆ ๊ฐ€๋…์„ฑ์ด ๋–จ์–ด์งˆ ๊ฒƒ ๊ฐ™๋‹ค๋Š” ํŒ๋‹จํ•˜์— ๊นƒํ—™์„ ์˜ฌ๋ฆฌ๋Š” ๊ฒŒ ๋” ๋‚˜์„ ๊ฒƒ ๊ฐ™๋‹ค. github.com/MinJoo-.. 2021. 1. 11.
[React] ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ VS ํด๋ž˜์Šคํ˜• ์ปดํฌ๋„ŒํŠธ ์•ˆ๋…•ํ•˜์„ธ์š”. ์˜ค๋Š˜์€ ์ปดํฌ๋„ŒํŠธ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ปดํฌ๋„ŒํŠธ๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์„ค๊ณ„ํ•  ๋•Œ ์‚ฌ์šฉ์ž๊ฐ€ ๋ณผ ์ˆ˜ ์žˆ๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์š”์†Œ๋“ค์„ ๋œปํ•ฉ๋‹ˆ๋‹ค. ์ปดํฌ๋„ŒํŠธ๋Š” props๋ฅผ ๋ฐ›์•„์„œ elelement๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ•จ์ˆ˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์„ ์–ธํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ๋Š” ๋‘๊ฐ€์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ”๋กœ ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ์™€ ํด๋ž˜์Šคํ˜• ์ปดํฌ๋„ŒํŠธ! ๊ณผ์—ฐ ๋‘˜์€ ์–ด๋–ค ์ฐจ์ด๊ฐ€ ์žˆ๊ณ , ์–ด๋–ค ๊ธฐ์ค€์œผ๋กœ ์‚ฌ์šฉํ•  ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ •ํ•˜๋Š”๊ฒŒ ์ข‹์„๊นŒ์š”? ์ €๋Š” ์ด์— ๋Œ€ํ•œ ๋‚ด์šฉ์„ '๋ฆฌ์•กํŠธ๋ฅผ ๋‹ค๋ฃจ๋Š” ๊ธฐ์ˆ ' ์ฑ…๊ณผ ๋ฆฌ์•กํŠธ ๊ณต์‹๋ฌธ์„œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ณต๋ถ€ํ–ˆ์Šต๋‹ˆ๋‹ค. (ko.reactjs.org/docs/components-and-props.html#function-and-class-components) ์ œ๊ฐ€ ์ดํ•ดํ•œ ๊ฐœ๋…์„ ์“ฐ๋Š” ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์—, ํ‹€๋ฆด ์ˆ˜๋„ ์žˆ๋‹ค๋Š” ์ ! โœ”์ฝ”๋“œ๋น„๊ต //ํ•จ.. 2020. 12. 29.
[React] JSX โ—์•„๋ž˜ ๋‚ด์šฉ์€ [๋ฆฌ์•กํŠธ๋ฅผ ๋‹ค๋ฃจ๋Š” ๊ธฐ์ˆ ] ์ฑ…์—์„œ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ์š”์•ฝํ•˜์˜€์Šต๋‹ˆ๋‹ค. JSX๋ž€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ํ™•์žฅ๋ฌธ๋ฒ•์ด๋ฉฐ, XML๊ณผ ๋งค์šฐ ๋น„์Šทํ•˜๊ฒŒ ์ƒ๊น€ JSX๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด,,, ํŽธํ•˜๊ฒŒ ๋ Œ๋”๋ง ๊ฐ€๋Šฅ HTML์ฝ”๋“œ์™€ ์œ ์‚ฌํ•ด์„œ ๋ณด๊ธฐ ์‰ฝ๊ณ , ์ต์ˆ™ ์ปดํฌ๋„ŒํŠธ๋ฅผ HTMLํƒœ๊ทธ ์“ฐ๋“ฏ์ด ์‚ฌ์šฉํ•˜๋ฉด์„œ ํ™œ์šฉ๋„๊ฐ€ ๋†’์Œ ์˜ˆ์‹œ) import React from 'react'; function App(){ return( ๋ฆฌ์•กํŠธ ์•ˆ๋…•! ์ž˜ ์ž‘๋™ํ•˜๋‹ˆ? ); } export default App; ์œ„์˜ ์ฝ”๋“œ์ฒ˜๋Ÿผ h1ํƒœ๊ทธ์™€ h2ํƒœ๊ทธ๊ฐ€ divํƒœ๊ทธ ํ•˜๋‚˜๋กœ ๊ฐ์‹ธ์ ธ์žˆ๋‹ค. ์ด๋ ‡๊ฒŒ ๋ฆฌ์•กํŠธ ์ปดํฌ๋„ŒํŠธ์—์„œ ์š”์†Œ ์—ฌ๋Ÿฌ ๊ฐœ๋ฅผ ํ•˜๋‚˜์˜ ์š”์†Œ๋กœ ๊ฐ์‹ธ๋Š” ์ด์œ ? ์ปดํฌ๋„ŒํŠธ ๋‚ด๋ถ€๋Š” ํ•˜๋‚˜์˜ DOM ํŠธ๋ฆฌ ๊ตฌ์กฐ๋กœ ์ด๋ฃจ์–ด์ ธ์•ผ ํ•œ๋‹ค๋Š” ๊ทœ์น™์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ ์กฐ๊ฑด๋ถ€ ์—ฐ์‚ฐ์ž JSX ๋‚ด๋ถ€์˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ .. 2020. 12. 23.
๋ฐ˜์‘ํ˜•