[๋ฆฌ์•กํŠธ] ์ปดํฌ๋„ŒํŠธ ๋ผ์ดํ”„์‚ฌ์ดํด, DOM ์ •๋ฆฌ โœจ

2024. 1. 18. 17:44ยทReact์˜ ๊ณ ์ˆ˜ ๐ŸŸข

์ฐธ๊ณ ์ž๋ฃŒ: ์ปดํฌ๋„ŒํŠธ ๋ผ์ดํ”„ ์‚ฌ์ดํด, DOM

 

DOM์€ ์ •ํ™•ํžˆ ๋ฌด์—‡์ผ๊นŒ? | WIT๋ธ”๋กœ๊ทธ

์ตœ๊ทผ ์ž˜๋ชป ์ดํ•ดํ•˜๊ณ  ์žˆ์—ˆ๋˜ DOM์— ๋Œ€ํ•ด ์ •ํ™•ํ•œ ๊ฐœ๋…์„ ์ •๋ฆฌํ•ด ๋ณด๊ณ ์ž What, exactly, is the DOM? ๋ฌธ์„œ๋ฅผ ๋ฒˆ์—ญํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค.

wit.nts-corp.com

 

[React] ์ปดํฌ๋„ŒํŠธ ๋ผ์ดํ”„ ์‚ฌ์ดํด๊ณผ ์ฃผ์š” ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ ์ˆœ์„œ

์ปดํฌ๋„ŒํŠธ ๋ผ์ดํ”„์‚ฌ์ดํด ์ด๋ž€ ์ปดํฌ๋„ŒํŠธ ๋ผ์ดํ”„์‚ฌ์ดํด์€ ์ปดํฌ๋„ŒํŠธ์˜ ์ƒ์„ฑ๋ถ€ํ„ฐ ์†Œ๋ฉธ์— ์ด๋ฅด๋Š” ์ผ๋ จ์˜ ์ด๋ฒคํŠธ๋กœ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ๋ฆฌ์•กํŠธ ์ปดํฌ๋„ŒํŠธ์—๋Š” LifeCycle์„ ๊ฐ–์Šต๋‹ˆ๋‹ค. LifeCycle์€ ์„ธ๊ฐ€

koras02.tistory.com

 
 

โญ๏ธ ์ปดํฌ๋„ŒํŠธ ๋ผ์ดํ”„์‚ฌ์ดํด

- ์ปดํฌ๋„ŒํŠธ์˜ ์ƒ์„ฑ๋ถ€ํ„ฐ ์†Œ๋ฉธ์— ์ด๋ฅด๋Š” ์ผ๋ จ์˜ ์ด๋ฒคํŠธ
- ๋ฆฌ์•กํŠธ ์ปดํฌ๋„ŒํŠธ๋Š” ๋ผ์ดํ”„์‚ฌ์ดํด์„ ๊ฐ–๋Š”๋‹ค
- ํฌ๊ฒŒ ์„ธ๊ฐ€์ง€ ์นดํ…Œ๊ณ ๋ฆฌ๋กœ ๋‚˜๋‰˜๋ฉฐ ๊ฐœ๊ด„์ ์ธ ๊ทธ๋ฆผ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Œ
 
 
 
 

์ปดํฌ๋„ŒํŠธ ๋ผ์ดํ”„ ์‚ฌ์ดํด ์ผ๋ จ์˜ ์ด๋ฒคํŠธ

 


 

๐Ÿ“š ์ปดํฌ๋„ŒํŠธ ๋ผ์ดํ”„ ์‚ฌ์ดํด ๋ฉ”์„œ๋“œ ์•Œ์•„๋ณด๊ธฐ

 

โœจ 1. Mounting

- ์ปดํฌ๋„ŒํŠธ์˜ ์ธ์Šคํ„ด์Šค๊ฐ€ ์ƒ์„ฑ ๋ผ DOM ์ƒ์— ์‚ฝ์ž…๋˜๋Š” ๋‹จ๊ณ„
- ๋งˆ์šดํŒ…์€ ๋ผ์ดํ”„์‚ฌ์ดํด์ด ์ข…๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ํ•œ ๋ฒˆ๋งŒ ์ผ์–ด๋‚จ
- ์•„๋ž˜ ๋ฉ”์„œ๋“œ๋“ค์€ ์ด ๋‹จ๊ณ„์—์„œ ์ˆœ์„œ๋Œ€๋กœ ํ˜ธ์ถœ
 
โœ… ๋ฉ”์„œ๋“œ ๋‹จ๊ณ„
- constructor : ์ปดํฌ๋„ŒํŠธ์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒˆ๋กœ ๋งŒ๋“ค ๋•Œ๋งˆ๋‹ค ์ƒ์„ฑ์ž ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ
- render: ํ™”๋ฉด์— ํ‘œ์‹œ๋  JSX ๋ฐ˜ํ™˜ํ•˜๊ณ  ํ™”๋ฉด์— ๊ทธ๋ฆผ
- componentDidMount: ์ปดํฌ๋„ŒํŠธ๊ฐ€ ํ™”๋ฉด์— ๋ชจ๋‘ ๊ทธ๋ ค์ง„ ์ด๋ฃจ ํ˜ธ์ถœ๋จ
 
๐Ÿ“š componentDidMount๋ž€ โ“
- componentDidMount ๋ฉ”์„œ๋“œ๋Š” ์ฒซ ๋ Œ๋”๋ง ์ดํ›„ ์‹คํ–‰
- ์—”๋“œํฌ์ธํŠธ์—์„œ ํด๋ผ์ด์–ธํŠธ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถˆ๋Ÿฌ์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ API ํ˜ธ์ถœ์„ ํ•˜๊ธฐ ์œ„ํ•œ ์ข‹์€ ์œ„์น˜
- ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์˜ฌ ๋•Œ setState๋ฉ”์„œ๋“œ๋ฅผ ์ด์šฉํ•ด ์ปดํฌ๋„ŒํŠธ๋ฅผ ์—…๋ฐ์ดํŠธ ํ•  ์ˆ˜ ์žˆ์Œ
 
 


โœจ2. Updating

- props ๋˜๋Š” state๊ฐ€ ๋ณ€๊ฒฝ ๋ผ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์—…๋ฐ์ดํŠธ๋˜๋Š” ๋‹จ๊ณ„
- ์•„๋ž˜์™€ ๊ฐ™์ด ์ˆœ์„œ๋Œ€๋กœ ํ˜ธ์ถœ
 
โœ… ๋ฉ”์„œ๋“œ ๋‹จ๊ณ„
- static GetDerivedStateFromProps
- shouldComponentUpdate
- render: ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณ€๊ฒฝ๋˜๋ฉด ์ž๋™์œผ๋กœ ํ˜ธ์ถœ
- getSnapshotBeforeUpdate
- componentDidUpdate: ํ™”๋ฉด์ด ๋‹ค์‹œ ๊ทธ๋ ค์ง„ ํ›„ ํ˜ธ์ถœ
 
 


 

โœจ3. Unmounting

- ์ปดํฌ๋„ŒํŠธ๊ฐ€ DOM ์ƒ์—์„œ ์ œ๊ฑฐ๋˜๋Š” ๋‹จ๊ณ„
 
โœ… ๋‹จ๊ณ„
- compnentWillUnmount : ์ปดํฌ๋„ŒํŠธ๊ฐ€ ํ™”๋ฉด์—์„œ ์ œ๊ฑฐ๋˜๊ธฐ ์ „์— ํ˜ธ์ถœ
 
 


โญ๏ธ ์—ฌ๊ธฐ์„œ DOM์ด๋ž€โ“

 
- ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์›๋ณธ HTML ๋ฌธ์„œ๋ฅผ ์ฝ์€ ํ›„, ์Šคํƒ€์ด์„ ์ž…ํžˆ๊ณ  ๋Œ€ํ™”ํ˜• ํŽ˜์ด์ง€๋กœ ๋งŒ๋“ค์–ด ๋ทฐ ํฌํŠธ์— ํ‘œ์‹œํ•˜๊ธฐ๊นŒ์ง€ ๊ณผ์ •์„ "Critical Rendering Path"
- ์›น ํŽ˜์ด์ง€์— ๋Œ€ํ•œ ์ธํ„ฐํŽ˜์ด์Šค
- ์—ฌ๋Ÿฌ ํ”„๋กœ๊ทธ๋žจ๋“ค์ด ํŽ˜์ด์ง€์˜ ์ฝ˜ํ…์ธ  ๋ฐ ๊ตฌ์กฐ, ๊ทธ๋ฆฌ๊ณ  ์Šคํƒ€์ผ์„ ์ฝ๊ณ  ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋„๋ก API ์ œ๊ณต
 
 
 

โœ… ํฌ๊ฒŒ ๋‘๊ฐ€์ง€ ๋‹จ๊ณ„

1. ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋ฐ›์•„๋“ค์ธ ๋ฌธ์„œ๋ฅผ ํŒŒ์‹ฑํ•˜์—ฌ ์ตœ์ข…์œผ๋กœ ์–ด๋–ค ๋‚ด์šฉ์„ ํŽ˜์ด์ง€์— ๋ Œ๋”๋งํ•  ์ง€ ๊ฒฐ์ •
- ์ด ๊ณผ์ •์—์„œ ๋ Œ๋” ํŠธ๋ฆฌ ์ƒ์„ฑ
- ์›น ํŽ˜์ด์ง€์— ํ‘œ์‹œ๋  HTML ์š”์†Œ๋“ค๊ณผ ๊ด€๋ จ๋œ ์Šคํƒ€์ผ ์š”์†Œ ๊ตฌ์„ฑ
- ๋ธŒ๋ผ์šฐ์ €๋Š” ๋ Œ๋”ํŠธ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‘ ๋ชจ๋ธ์ด ํ•„์š”ํ•จ
- DOM(Document Object Model) - HTML ์š”์†Œ๋“ค์˜ ๊ตฌ์กฐํ™”๋œ ํ‘œํ˜„
- CSSOM(Cascading Style Sheets Object Model) - ์š”์†Œ๋“ค๊ณผ ์—ฐ๊ด€๋œ ์Šคํƒ€์ผ ์ •๋ณด์˜ ๊ตฌ์กฐํ™”๋œ ํ‘œํ˜„
 
2. ๋ Œ๋”๋ง ์ˆ˜ํ–‰
 
 


 

๐Ÿ“š ์–ด๋–ป๊ฒŒ ์ƒ์„ฑ๋ ๊นŒ? ( ์–ด๋–ป๊ฒŒ ๋ณด์—ฌ์งˆ๊นŒ?)

- DOM์€ ์›๋ณธ HTML ๋ฌธ์„œ์˜ ๊ฐ์ฒด ๊ธฐ๋ฐ˜ ํ‘œํ˜„ ๋ฐฉ์‹
- HTML๊ณผ DOM์˜ ์ฐจ์ด๋Š” ๋‹จ์ˆœ ํ…์ŠคํŠธ๋กœ ๊ตฌ์„ฑ๋œ HTML ๋ฌธ์„œ์˜ ๋‚ด์šฉ๊ณผ ๊ตฌ์กฐ๊ฐ€ ๊ฐ์ฒด ๋ชจ๋ธ๋กœ ๋ณ€ํ™˜๋˜์–ด ๋‹ค์–‘ํ•œ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Œ
- DOM์˜ ๊ฐœ์ฒด ๊ตฌ์กฐ๋Š” "๋…ธ๋“œ ํŠธ๋ฆฌ"๋กœ ํ‘œํ˜„
- ํ•˜๋‚˜์˜ ๋ถ€๋ชจ ์ค„๊ธฐ๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ž์‹ ๋‚˜๋ญ‡๊ฐ€์ง€๋กœ ๊ฐ–๊ณ  ์žˆ๊ณ , ๊ฐ๊ฐ์˜ ๋‚˜๋ญ‡๊ฐ€์ง€๋Š” ์žŽ๋“ค์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ๋‚˜๋ฌด์™€ ๊ฐ™์€ ๊ตฌ์กฐ๋ผ์„œ
- ๋ฃจํŠธ ์š”์†Œ์ธ <html>์€ "๋ถ€๋ชจ ์ค„๊ธฐ", ๋ฃจํŠธ์š”์†Œ์— ๋‚ดํฌ๋œ ํƒœ๊ทธ๋“ค์€ "์ž์‹ ๋‚˜๋ญ‡๊ฐ€์ง€", ์š”์†Œ ์•ˆ์˜ ์ปจํ…์ธ ๋Š” "์žŽ"

 


 
๐Ÿ“š DOM์ด ์•„๋‹Œ ๊ฒƒ

- DOM์€ ๋งˆ์น˜ HTML ๋ฌธ์„œ์™€ 1 ๋Œ€ 1 ๋งคํ•‘์ด ๋˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด์ง€๋งŒ, ์ฐจ์ด์ ์ด ์žˆ์Œ
 
 
โœ… 1. DOM์€ HTML์ด ์•„๋‹ˆ๋‹ค
- DOM์€ HTML ๋ฌธ์„œ๋กœ ๋ถ€ํ„ฐ ์ƒ์„ฑ๋˜์ง€๋งŒ ๋™์ผํ•˜์ง„ ์•Š์Œ
- DOM์ด ์›๋ณธ HTML ์†Œ์Šค์™€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ๋Š” ๋‘๊ฐ€์ง€ ์ผ€์ด์Šค๊ฐ€ ์žˆ์Œ


๐Ÿ“Œ ์ž‘์„ฑ๋œ HTML ๋ฌธ์„œ๊ฐ€ ์œ ํšจํ•˜์ง€ ์•Š์„ ๋•Œ
- DOM์€ ์œ ํšจํ•œ HTML ๋ฌธ์„œ์˜ ์ธํ„ฐํŽ˜์ด์Šค
- DOM์ด ์ƒ์„ฑ๋˜๋Š” ๋™์•ˆ, ๋ธŒ๋ผ์šฐ์ €๋Š” ์œ ํšจํ•˜์ง€ ์•Š์€ HTML ์ฝ”๋“œ๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๊ต์ •ํ•จ

<html>
Hello, world!
</html>

 
๋ฌธ์„œ์— ์œ ํšจํ•œ HTML ๊ทœ์น™์˜ ํ•„์ˆ˜ ์‚ฌํ•ญ์ธ <head>์™€ <body>์š”์†Œ๊ฐ€ ๋น ์ง
- ํ•˜์ง€๋งŒ ์ƒ์„ฑ๋œ DOM ํŠธ๋ฆฌ์—์„œ ๊ต์ •ํ•จ
 
๐Ÿ“Œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์— ์˜ํ•ด DOM์ด ์ˆ˜์ •๋  ๋•Œ
- DOM์€ HTML ๋ฌธ์„œ์˜ ๋‚ด์šฉ์„ ๋ณผ ์ˆ˜ ์žˆ๋Š” ์ธํ„ฐํŽ˜์ด์Šค ์—ญํ• ์„ ํ•˜๋Š” ๋™์‹œ์— ๋™์  ์ž์›์ด ๋˜์–ด ์ˆ˜์ •๋  ์ˆ˜ ์žˆ์Œ
 


 
 
โœ… 2. DOM์€ ๋ธŒ๋ผ์šฐ์ €์— ๋ณด์ด๋Š” ๊ฒƒ์ด ์•„๋‹˜
- ๋ธŒ๋ผ์šฐ์ € ๋ทฐ ํฌํŠธ์— ๋ณด์ด๋Š” ๊ฒƒ์€ ๋ Œ๋” ํŠธ๋ฆฌ๋กœ DOM๊ณผ CSSOM์˜ ์กฐํ•ฉ
- ๋ Œ๋” ํŠธ๋ฆฌ๋Š” ์˜ค์ง ์Šคํฌ๋ฆฐ์— ๊ทธ๋ ค์ง€๋Š” ๊ฒƒ์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์–ด DOM๊ณผ๋Š” ๋‹ค๋ฆ„
- ๋‹ฌ๋ฆฌ ๋งํ•˜๋ฉด, ๋ Œ๋”๋ง๋˜๋Š” ์š”์†Œ๋งŒ์ด ๊ด€๋ จ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์‹œ๊ฐ์ ์œผ๋กœ ๋ณด์ด์ง€ ์•Š๋Š” ์š”์†Œ๋Š” ์ œ์™ธ
 

<p style="display: none;">How are you?</p>

-๐Ÿ’ก ) display: none ์Šคํƒ€์ผ ์†์„ฑ์ด ์žˆ์„ ๋•Œ, DOM์€ <p> ์š”์†Œ๋ฅผ ํฌํ•จ ์‹œํ‚ค์ง€๋งŒ, ๋ Œ๋” ํŠธ๋ฆฌ์— ํ•ด๋‹นํ•˜๋Š” ๋ทฐ ํฌํŠธ์— <p> ์š”์†Œ๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š์Œ
 
 
 
โœ… 3. DOM์€ ๊ฐœ๋ฐœ๋„๊ตฌ์—์„œ ๋ณด์ด๋Š” ๊ฒƒ์ด ์•„๋‹˜
- ๊ฐœ๋ฐœ๋„๊ตฌ์˜ ์š”์†Œ ๊ฒ€์‚ฌ๊ธฐ๋Š” DOM๊ณผ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๊ทผ์‚ฌ์น˜๋ฅผ ์ œ๊ณต
- ๊ฐœ๋ฐœ๋„๊ตฌ์˜ ์š”์†Œ ๊ฒ€์‚ฌ๊ธฐ๋Š” DOM์— ์—†๋Š” ์ถ”๊ฐ€์ ์ธ ์ •๋ณด๋ฅผ ํฌํ•จ
- ๐Ÿ’ก ) CSS ๊ฐ€์ƒ ์š”์†Œ : ::before๊ณผ ::after ์„ ํƒ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ์„ฑ๋œ ๊ฐ€์ƒ ์š”์†Œ๋Š” CSSOM๊ณผ ๋ Œ๋” ํŠธ๋ฆฌ์˜ ์ผ๋ถ€๋ฅผ ๊ตฌ์„ฑ
- ํ•˜์ง€๋งŒ, ๊ธฐ์ˆ ์ ์œผ๋กœ DOM์˜ ์ผ๋ถ€๊ฐ€ ์•„๋‹˜. DOM์€ ์˜ค์ง ์›๋ณธ HTML ๋ฌธ์„œ๋กœ๋ถ€ํ„ฐ ๋นŒ๋“œ๋˜๊ณ , ์š”์†Œ์— ์ ์šฉ๋˜๋Š” ์Šคํƒ€์ผ์„ ํฌํ•จํ•˜์ง€ ์•Š์Œ
 
 
 


 
 

๐Ÿ“š ์š”์•ฝ ์ •๋ฆฌ

- DOM์€ HTML ๋ฌธ์„œ์— ๋Œ€ํ•œ ์ธํ„ฐํŽ˜์ด์Šค
- ์ฒซ์งธ๋กœ ๋ทฐ ํฌํŠธ( ํ˜„์žฌ ํ™”๋ฉด์— ๋ณด์—ฌ์ง€๊ณ  ์žˆ๋Š” ๋‹ค๊ฐํ˜•(๋ณดํ†ต ์ง์‚ฌ๊ฐํ˜•)์˜ ์˜์—ญ)์— ๋ฌด์—‡์„ ๋ Œ๋”๋งํ• ์ง€ ๊ฒฐ์ •ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ
- ๋‘˜์งธ๋กœ ํŽ˜์ด์ง€์˜ ์ฝ˜ํ…์ธ  ๋ฐ ๊ตฌ์กฐ, ์Šคํƒ€์ผ์ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ”„๋กœ๊ทธ๋žจ์— ์˜ํ•ด ์ˆ˜์ •๋˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ
 
 
โœ… DOM์€ ์›๋ณธ HTML ๋ฌธ์„œ ํ˜•ํƒœ์™€ ๋น„์Šทํ•˜์ง€๋งŒ ์ฐจ์ด์ ์ด ์žˆ์Œ
- ํ•ญ์ƒ ์œ ํšจํ•œ HTML ํ˜•์‹
- ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์— ์ˆ˜์ •๋  ์ˆ˜ ์žˆ๋Š” ๋™์  ๋ชจ๋ธ
- ๊ฐ€์ƒ ์š”์†Œ๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š์Œ(์˜ˆ: ::after)

โ“ ๊ฐ€์ƒ์š”์†Œ๋ž€ โ“ 
-๊ฐ€์ƒ ์š”์†Œ ํ‚ค์›Œ๋“œ ๋ณ„๋กœ ๋ฏธ๋ฆฌ ๊ธฐ๋Šฅ์ด ์ •์˜๋˜์–ด ์žˆ์œผ๋ฉฐ, ์š”์†Œ์— CSS ์†์„ฑ์„ ์ ์šฉํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ ๋‹ค์–‘ํ•œ CSS ์†์„ฑ์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋งˆ์น˜ ํ•˜๋‚˜์˜ ํ•˜์œ„ ์š”์†Œ์ฒ˜๋Ÿผ ์‚ฌ์šฉ
- HTML์— ์กด์žฌํ•˜์ง€ ์•Š๋Š” ์š”์†Œ๋ฅผ CSS๊ฐ€ ์ž„์˜๋กœ ์ƒ์„ฑํ•ด์„œ ์Šคํƒ€์ผ๋ง

โœ… ๊ฐ€์ƒ ์š”์†Œ ์ข…๋ฅ˜

  • ::before => ํŠน์ • ์š”์†Œ content ๋ฐ”๋กœ ์•ž์— ์ƒ†์ž…
  • ::after => ํŠน์ • ์š”์†Œ content ๋ฐ”๋กœ ๋’ค์— ์‚ฝ์ž…
  • ::first-letter => ์š”์†Œ์˜ ์ฒซ ๊ธ€์ž๋ฅผ ์„ ํƒ
  • ::first-line => ์š”์†Œ์˜ ์ฒซ ๋ฒˆ์งธ ์ค„์„ ์„ ํƒ
  • ::marker => marker ๋ชฉ๋ก ํ•ญ๋ชฉ์˜ ๋งˆ์ปค๋ฅผ ์„ ํƒ
  • ::selection => ํ•ด๋‹น ์š”์†Œ์—์„œ ์‚ฌ์šฉ์ž๊ฐ€ ์„ ํƒํ•œ ์š”์†Œ ๋ถ€๋ถ„์„ ์„ ํƒ
  • ::placeholder => input ํ•„๋“œ ์•ˆ ํ…์ŠคํŠธ๋ฅผ ์„ ํƒ

 
- ๋ณด์ด์ง€ ์•Š๋Š” ์š”์†Œ๋ฅผ ํฌํ•จ (์˜ˆ: display: none)

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

[๋ฆฌ์•กํŠธ] ํ›…(hook) ์ •๋ฆฌ โœจ  (0) 2024.01.18
[๋ฆฌ์•กํŠธ] component์™€ props ์ •๋ฆฌ โœจ  (0) 2023.09.24
[๋ฆฌ์•กํŠธ] element ์ •๋ฆฌ  (0) 2023.09.24
[๋ฆฌ์•กํŠธ] JSX ๋ฌธ๋ฒ•  (0) 2023.09.24
[๋ฆฌ์•กํŠธ] forms ์ •๋ฆฌ โœจ  (0) 2023.09.23
'React์˜ ๊ณ ์ˆ˜ ๐ŸŸข' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [๋ฆฌ์•กํŠธ] ํ›…(hook) ์ •๋ฆฌ โœจ
  • [๋ฆฌ์•กํŠธ] component์™€ props ์ •๋ฆฌ โœจ
  • [๋ฆฌ์•กํŠธ] element ์ •๋ฆฌ
  • [๋ฆฌ์•กํŠธ] JSX ๋ฌธ๋ฒ•
์ฝ”๋”ฉํ•˜๋Š” ํฌ๋ฃจ
์ฝ”๋”ฉํ•˜๋Š” ํฌ๋ฃจ
ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž์˜ ๊ณต๋ถ€ ํ…ƒ๋ฐญ ๊ฐ€๊พธ๊ธฐ ๐ŸŒฑ
  • ์ฝ”๋”ฉํ•˜๋Š” ํฌ๋ฃจ
    ๊ฐœ๋ฐœ ํ…ƒ๋ฐญ ๐ŸŒฑ
    ์ฝ”๋”ฉํ•˜๋Š” ํฌ๋ฃจ
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (59)
      • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์ •์„ ๐ŸŸก (20)
      • React์˜ ๊ณ ์ˆ˜ ๐ŸŸข (9)
      • ํด๋ผ์šฐ๋“œ์— ๊ด€ํ•˜์—ฌ โ˜๏ธ (5)
      • Next.js ์ตํžˆ๊ธฐ ๐Ÿ”ต (1)
      • ํ”„๋ก ํŠธ์—”๋“œ ๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป (21)
      • ์ •๋ฆฌ ๋ชจ์Œ โœจ (3)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ์ œ์–ด๊ถŒ ์œ„์ž„
    AWS ํด๋ผ์šฐ๋“œ
    ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ
    q developer
    ์ฝœ๋ฐฑ
    ๋‹ค๋žŒ์ฅ์ฑ…
    ํ”„๋กœ๋ฏธ์Šค์ง€์˜ฅ
    as const
    aws ์„œ๋น„์Šค
    js
    ๋ ˆ์ŠคํŠธ ์—ฐ์‚ฐ์ž
    Amazon Bedrock
    ๋ทฐ์ œ์ด์—์Šค
    javascrirpt
    const enum
    ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฐ”์ธ๋”ฉ
    ๋„คํŠธ์›Œํฌ ์ œ์–ด ๋ชฉ๋ก
    function๊ณผ arrow function
    ์ฝœ๋ฐฑ์ง€์˜ฅ
    AWS
    ๋ธŒ๋ผ์šฐ์ € ๊ฐ์ฒด
    OSI๊ณ„์ธต
    amazon lattice
    ์ธ์ฆ/์ธ๊ฐ€
    ํ”„๋ก ํŠธ์—”๋“œํ”„๋ ˆ์ž„์›Œํฌ
    ํƒ€์ž… ๋‹จ์–ธ
    HTTP์™„๋ฒฝ๊ฐ€์ด๋“œ
    cloud practitioner
    amazon nova
    ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.1
์ฝ”๋”ฉํ•˜๋Š” ํฌ๋ฃจ
[๋ฆฌ์•กํŠธ] ์ปดํฌ๋„ŒํŠธ ๋ผ์ดํ”„์‚ฌ์ดํด, DOM ์ •๋ฆฌ โœจ
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”