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

Zoo48

๊ฐ€์ƒ์š”์†Œ ์„ ํƒ์ž ::before, ::after ๊ฐ€์ƒ ์š”์†Œ๋ž€ ์„ ํƒ์ž (Pseudo-elements) ์„ ํƒ์ž์— ์ถ”๊ฐ€ํ•˜๋Š” ํ‚ค์›Œ๋“œ๋กœ, ์„ ํƒํ•œ ์š”์†Œ(element)์˜ ์ผ๋ถ€์—๋งŒ ์Šคํƒ€์ผ์„ ์ ์šฉํ•œ๋‹ค. ์ฆ‰, ์„ ํƒํ•œ ์š”์†Œ ์ „์ฒด์— ์Šคํƒ€์ผ์„ ์ ์šฉํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ์š”์†Œ์˜ ์ผ๋ถ€์—๋งŒ ์Šคํƒ€์ผ์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์‹œ ๋งํ•ด, HTML์— ์ƒˆ๋กœ์šด ์š”์†Œ(element)๋ฅผ ์ถ”๊ฐ€ํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ์ค‘ ๊ฐ€์žฅ ๋Œ€ํ‘œ์ ์ธ ::before ์™€ ::after ์˜ ์‚ฌ์šฉ ์˜ˆ์‹œ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž ๊ฐ€์ƒ ์š”์†Œ ์‚ฌ์šฉ๋ฒ• ๊ฐ€์ƒ ์š”์†Œ๋Š”, ::before, ::after, ::first-letter ์™€ ๊ฐ™์ด ์•ž์— '::'๋ฅผ ๋ถ™์—ฌ์„œ ํ‘œ๊ธฐํ•ฉ๋‹ˆ๋‹ค. import React from "react"; import './App.css'; function App() { return ( Hello Hello ); } export.. 2022. 12. 10.
ํด๋ž˜์Šคํ˜• ์ปดํฌ๋„ŒํŠธ์™€ ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ์˜ ์ฐจ์ด ๐Ÿ“‘ ํด๋ž˜์Šคํ˜• ์ปดํฌ๋„ŒํŠธ์™€ ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ ๋ฌผ๋ก  ํด๋ž˜์Šคํ˜• ์ปดํฌ๋„ŒํŠธ์™€ ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ๋Š” ํ•˜๋Š” ์ผ์€ ๋™์ผํ•˜์ง€๋งŒ, ์ฝ”๋“œ ๊ตฌ์กฐ์—์„œ ์•ฝ๊ฐ„์˜ ์ฐจ์ด๊ฐ€ ์žˆ์œผ๋ฉฐ ํด๋ž˜์Šค ์ปดํฌ๋„ŒํŠธ๋Š” ๋ผ์ดํ”„ ์‚ฌ์ดํด ๊ธฐ๋Šฅ๊ณผ state ๊ด€๋ฆฌ ๊ธฐ๋Šฅ์ด ์ฝ”๋“œ์— ๊ตฌํ˜„๋˜๋ฉฐ, ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ๋Š” hook ์„ ํ†ตํ•ด ๋ผ์ดํ”„ ์‚ฌ์ดํด ๊ธฐ๋Šฅ๊ณผ state ๊ด€๋ฆฌ ๊ธฐ๋Šฅ ์ฝ”๋“œ๋ฅผ ์งค ์ˆ˜ ์žˆ๋‹ค. ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ๋Š” ํด๋ž˜์Šคํ˜• ์ปดํฌ๋„ŒํŠธ๋ณด๋‹ค ์„ ์–ธํ•˜๊ธฐ ์ข€ ๋” ํŽธํ•˜๊ณ , ๋ฉ”๋ชจ๋ฆฌ ์ž์›์„ ๋œ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค. ๊ณผ๊ฑฐ, ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ๋Š” state ์™€ ๋ผ์ดํ”„ ์‚ฌ์ดํด API ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ์—ˆ์ง€๋งŒ ํ˜„์žฌ, ํ›…์— ์˜ํ•ด ์ด ๋ชจ๋“  ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ๋‹ค. // ํด๋ž˜์Šคํ˜• ์ปดํฌ๋„ŒํŠธ class App extends Component { state = { count: 0 } increase = ().. 2022. 12. 9.
React๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ  ๐Ÿ™‹๐Ÿป‍โ™‚๏ธํ”„๋ก ํŠธ์—”๋“œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋“ฑ์žฅ ๋ฐฐ๊ฒฝ ํ”„๋ก ํŠธ์•ค๋“œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๋“ฑ์žฅํ•˜๊ฒŒ ๋œ ์ด์œ ๋Š” ๋™์ ์ธ ์›น ํŽ˜์ด์ง€๋ฅผ ๋ณด๋‹ค ํšจ์œจ์ ์œผ๋กœ ์œ ์ง€ ๋ณด์ˆ˜ํ•˜๊ณ  ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๊ธฐ ์œ„ํ•จ์ด๋‹ค. ์ •์  ์›น ํŽ˜์ด์ง€ ์›น ์„œ๋ฒ„์— ์ €์žฅ๋˜์–ด ์žˆ๋Š” HTML ๋ฌธ์„œ๋ฅผ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์ „๋‹ฌํ•˜์—ฌ ๋ฐ›์€ ํŽ˜์ด์ง€. ๋‹จ์ˆœํžˆ ์ •๋ณด๋ฅผ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•œ ๋ชฉ์ ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋กœ๊ทธ์ธ์„ ํ•œ๋‹ค๊ฑฐ๋‚˜ ๋ญ”๊ฐ€ ์ •๋ณด๋ฅผ ๋ณด๋‚ธ๋‹ค๊ฑฐ๋‚˜ ํ•˜๋Š” ์ƒํ˜ธ์ž‘์šฉ์€ ์ค‘์š”ํ•˜์ง€ ์•Š์€ ์š”์†Œ๋กœ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์‚ฌ์šฉ์ž๋Š” ์„œ๋ฒ„์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š๋Š” ํ•œ ๊ณ ์ •๋œ ์›น ํŽ˜์ด์ง€๋ฅผ ๋ณด๊ฒŒ ๋œ๋‹ค. ์ด๋Ÿฐ ๊ฒฝ์šฐ์—” ๋‹จ์ˆœํžˆ HTML๊ณผ CSS์˜ ๊ตฌ์„ฑ๋งŒ์œผ๋กœ๋„ ์›น ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. Ex) ํ™ˆํŽ˜์ด์ง€์— ํšŒ์‚ฌ์†Œ๊ฐœ, ์Œ์‹๋ฉ”๋‰ด, ํฌํŠธํด๋ฆฌ์˜ค ๋“ฑ ๋‚ด์šฉ์ด ๋ณ€ํ•˜์ง€ ์•Š๊ณ  ๊ณ ์ •์ ์ธ ํŽ˜์ด์ง€. ๋™์  ์›น ํŽ˜์ด์ง€ ์š”์ฒญ ์ •๋ณด๋ฅผ ์ฒ˜๋ฆฌํ•œ ํ›„์— ์ œ์ž‘๋œ HTML .. 2022. 12. 9.
Redux(๋ฆฌ๋•์Šค)๋ž€? Redux(๋ฆฌ๋•์Šค)๋ž€? ๋ฆฌ๋•์Šค๋ž€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ƒํƒœ๊ด€๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค. ์šฐ์„  ๋ฆฌ๋•์Šค๋Š” ๋ฆฌ์•กํŠธ ๋‚ด๋ถ€์— ์žˆ๋Š” ๊ธฐ์ˆ ์ด ์•„๋‹ˆ๋ฉฐ ์ˆœ์ˆ˜ HTML, JAVASCRIPT ๋‚ด์—์„œ๋„ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ์ปดํฌ๋„ŒํŠธ์— ์ง‘์ค‘๋œ ๋ฆฌ์•กํŠธ์™€ ์‹œ๋„ˆ์ง€๊ฐ€ ์ข‹์œผ๋‹ˆ ๋Œ€์ฒด์ ์œผ๋กœ ๋ฆฌ์•กํŠธ์— ๋ฆฌ๋•์Šค๋ฅผ ์‚ฌ์šฉํ•  ๋ฟ์ด๋‹ค. Redux์˜ ๊ธฐ๋ณธ ๊ฐœ๋… : ์„ธ ๊ฐ€์ง€ ์›์น™ Single source of truth ๋™์ผํ•œ ๋ฐ์ดํ„ฐ๋Š” ํ•ญ์ƒ ๊ฐ™์€ ๊ณณ์—์„œ ๊ฐ€์ง€๊ณ  ์˜จ๋‹ค. ์ฆ‰, ์Šคํ† ์–ด๋ผ๋Š” ํ•˜๋‚˜๋ฟ์ธ ๋ฐ์ดํ„ฐ ๊ณต๊ฐ„์ด ์žˆ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค. State is read-only ๋ฆฌ์•กํŠธ์—์„œ๋Š” setState ๋ฉ”์†Œ๋“œ๋ฅผ ํ™œ์šฉํ•ด์•ผ๋งŒ ์ƒํƒœ ๋ณ€๊ฒฝ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ๋ฆฌ๋•์Šค์—์„œ๋„ ์•ก์…˜์ด๋ผ๋Š” ๊ฐ์ฒด๋ฅผ ํ†ตํ•ด์„œ๋งŒ ์ƒํƒœ๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค. Changes are made with pure functions ๋ณ€๊ฒฝ์€ ์ˆœ์ˆ˜ํ•จ์ˆ˜๋กœ๋งŒ .. 2022. 12. 8.