๐Ÿ’ก ํ”„๋ก ํŠธ์—”๋“œ 6

[React] ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ํ›„ ๋“ฑ๋ก ์ „ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ๋„์šฐ๊ธฐ

๋ฆฌ์•กํŠธ๋กœ ํ˜ผ์ž ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋˜ ๋„์ค‘ ์—ฌ๋Ÿฌ ํ…์ŠคํŠธ๋‚˜ ์ด๋ฏธ์ง€๋ฅผ ๋“ฑ๋กํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ํผ์„ ๋งŒ๋“ค์–ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ์ค‘ ์ด๋ฏธ์ง€๋ฅผ ๋“ฑ๋กํ•˜๋Š” ๋ถ€๋ถ„์—์„œ ๊ณ ๋ฏผ์ด ์ƒ๊ฒผ์–ด์š”. ์•„๋ž˜๋Š” JSX์˜ ์ผ๋ถ€๋ฅผ ๊ฐ€์ ธ์˜จ ๊ฒƒ์ธ๋ฐ, ์ด๋ฅผ ๋กœ์ปฌ์—์„œ ์‹คํ–‰ํ•ด๋ณด๋‹ˆ, ์ด๋ฏธ์ง€๋Š” ํ•˜๋‚˜๋งŒ ๋“ฑ๋ก ๊ฐ€๋Šฅํ•ด์š”. ๋“ฑ๋ก๋œ ์ด๋ฏธ์ง€๋Š” ์ž๋™์œผ๋กœ ๋Œ€ํ‘œ์‚ฌ์ง„์œผ๋กœ ๋“ฑ๋ก๋ฉ๋‹ˆ๋‹ค. :) ์œ„์™€ ๊ฐ™์ด ํŒŒ์ผ ์„ ํƒ ๋ฒ„ํŠผ์ด ๋งค์šฐ ์•ˆ์˜ˆ์˜๊ฒŒ(...) ์ถœ๋ ฅ์ด ๋์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ๋Š” ์ด๋ฅผ ๋ฐ”๊ฟ€ ๋ฐฉ๋ฒ•์ด ๋”ฑํžˆ ์—†๋‹ค๋Š” ๊ฒƒ์ด์—ˆ์ฃ . ์—…๋กœ๋“œ ๋ฒ„ํŠผ ์Šคํƒ€์ผ๋„ ๋ฐ”๊พธ๊ณ  ์ด์™•์ด๋ฉด "์„ ํƒ๋œ ํŒŒ์ผ ์—†์Œ"์ด๋ผ๋Š” ํ…์ŠคํŠธ๋„ ์—†์• ๋ฒ„๋ฆฌ๊ณ  ์‹ถ์—ˆ์–ด์š”. ๐Ÿ˜‚ ๋ฌธ์ œ ํ•ด๊ฒฐ: ์„ ์‚ฌ์šฉํ•˜์ž!โœจ ํผ์—์„œ input ํƒœ๊ทธ์— ๋น ์ง์—†์ด ์‚ฌ์šฉํ•˜๋˜ ์„ ์‚ฌ์šฉํ•ด๋ณด๊ธฐ๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค. ํƒœ๊ทธ๋ฅผ ๊พธ๋ฏธ๊ณ  ํƒœ๊ทธ๋ฅผ ์ˆจ๊ธฐ๋Š”๊ฑฐ์ฃ ! ์ด๋ฏธ์ง€๋Š” ํ•˜๋‚˜๋งŒ ๋“ฑ๋ก ๊ฐ€๋Šฅํ•ด์š”. ํŒŒ์ผ ์—…๋กœ๋“œ..

[React: ์˜ค๋ฅ˜] Warning: Invalid DOM property `for`. Did you mean `htmlFor`?

์˜ค๋ฅ˜ ๋ฐœ์ƒ ๋ฆฌ์•กํŠธ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ฐœ๋ฐœํ•˜๋˜ ๋„์ค‘ JSX label์„ ์‚ฌ์šฉํ–ˆ๋Š”๋ฐ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ๋–ด์Šต๋‹ˆ๋‹ค. Warning: Invalid DOM property `for`. Did you mean `htmlFor`? ํ”„๋กœ๊ทธ๋žจ์ด ๋ฉˆ์ถœ ์ •๋„์˜ ์˜ค๋ฅ˜๋Š” ์•„๋‹ˆ์—ˆ์ง€๋งŒ ๋ฌด๋ ค ์ฝ˜์†”์ฐฝ์— ๋„์›Œ์ค„ ์ •๋„์˜ ์—๋Ÿฌ์ด๋‹ˆ ํ•ด๊ฒฐํ•ด์•ผ ํ–ˆ์–ด์š”. ๋ฌผ๋ก  ์นœ์ ˆํ•˜๊ฒŒ๋„ ํ•ด๊ฒฐ๋ฐฉ๋ฒ•๊นŒ์ง€ ์ถ”์ฒœ์„ ํ•ด์ฃผ๊ณ  ์žˆ์ง€๋งŒ, ์™œ ์˜ค๋ฅ˜๊ฐ€ ๋–ด๋Š”์ง€ ์•Œ๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค. ์˜ค๋ฅ˜ ์ด์œ  for์€ Javascript์˜ keyword์ด๊ธฐ ๋•Œ๋ฌธ์— JSX์—์„œ ์ด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— label์—์„œ๋„ for๋Œ€์‹  htmlFor๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ•ด๊ฒฐ๋ฐฉ๋ฒ• label ํƒœ๊ทธ์—์„œ for ๋Œ€์‹  htmlFor๋กœ ๋ณ€๊ฒฝํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ฐธ๊ณ  https://stackoverflow.co..

[React] JSX์—์„œ ํ…์ŠคํŠธ ์ค„๋ฐ”๊ฟˆ ํ•˜๋Š” ๋ฐฉ๋ฒ•

๋ฆฌ์•กํŠธ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋‹ค๋ณด๋ฉด ํ…์ŠคํŠธ ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•  ์ผ์ด ๋งŽ์€๋ฐ์š”, ๋ฆฌ์•กํŠธ์—์„œ ์‚ฌ์šฉํ•˜๋Š” JSX์—์„œ๋Š” ๊ฐœํ–‰ ๋ฌธ์ž ('\n')์ด ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์•„๋ž˜์™€ ๊ฐ™์ด ์ž‘์„ฑํ•ด๋„ import React from 'react'; export default function Test() { return JSX์—์„œ ์ค„๋ฐ”๊ฟˆ์€ ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. \n๋ฐ”๋กœ ์ด๋ ‡๊ฒŒ์š”. } ๊ฐœํ–‰๋ฌธ์ž๊ฐ€ ๊ทธ๋Œ€๋กœ ํ…์ŠคํŠธ๋กœ ์ถœ๋ ฅ๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ ํ•ด๊ฒฐ๋ฐฉ๋ฒ•์„ ์ฐพ์•„๋ณด์•˜๋Š”๋ฐ, CSS์—์„œ ํ•ด๋‹น ํƒœ๊ทธ์— white-space๋ฅผ pre-line์œผ๋กœ ์„ค์ •ํ•ด์ฃผ๋ฉด ๋œ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์•„๋ฌด๋ฆฌ p ํƒœ๊ทธ์— white-space: pre-line์œผ๋กœ ์„ค์ •ํ•ด๋„ ์ค„๋ฐ”๊ฟˆ์ด ์ ์šฉ๋˜์ง€ ์•Š์•˜๋Š”๋ฐ์š”, ํ•ด๊ฒฐ๋ฐฉ๋ฒ•์€ ์ •๋ง ๊ฐ„๋‹จํ–ˆ์Šต๋‹ˆ๋‹ค. import R..

[React] "๋จน๊ฑฐ๋ฆฌ ๊ธฐ๋ก" ๋ฆฌ์•กํŠธ ํ”„๋กœ์ ํŠธ ๊ฐœ๋ฐœํ™˜๊ฒฝ ๊ตฌ์ถ•โญ๏ธ

์•ˆ๋…•ํ•˜์„ธ์š”! ์ตœ๊ทผ ๊ฐ€์žฅ ๊ธฐ์ดˆ๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋Š” ๋ฐ”๋‹๋ผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์— ๋Œ€ํ•ด ํ•™์Šตํ•˜๊ณ  ์žˆ์—ˆ๋Š”๋ฐ์š”, ์–ด๋Š์ •๋„ DOM ์š”์†Œ๋ฅผ ๊ฐ€์ง€๊ณ  ๋†€ ์ˆ˜ ์žˆ๊ฒŒ ๋˜๋‹ค๋ณด๋‹ˆ ๊ฐ์ฒด์ง€ํ–ฅ์— ๋Œ€ํ•ด์„œ๋„ ํฐ ๊ด€์‹ฌ์ด ์ƒ๊ฒจ ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ์™€ ๊ฐ์ฒด์ง€ํ–ฅ์— ๋Œ€ํ•œ ๊ฐ•์˜๋ฅผ ์ˆ˜๊ฐ•ํ–ˆ์Šต๋‹ˆ๋‹ค. ๐Ÿ‘€ ์—ฐ์Šต์šฉ ํ”„๋กœ์ ํŠธ๋„ ํ•˜๊ณ  ๋‚˜๋‹ˆ ์ƒ๊ฐ๋ณด๋‹ค ํฐ ์žฅ๋ฒฝ์€ ์—†๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ์–ด์š”. ํ•ญ์ƒ ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์ค‘์š”ํ•˜๋‹ค, ํ•œ๋ฒˆ ์“ฐ๋ฉด ํ—ค์–ด๋‚˜์˜ค์งˆ ๋ชปํ•˜๋Š” ๋งค๋ ฅ์ด ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ๋ง๋กœ๋งŒ ๋“ค์–ด ์ฒด๊ฐ์ด ๋˜์ง€ ์•Š์•˜์–ด์š”. ๊ทธ๋Ÿฌ๋‚˜ ์‹ค์ œ๋กœ ์‚ฌ์šฉํ•ด๋ณด๋‹ˆ ํ˜‘์—… ์‹œ์— ๋งค์šฐ ์ค‘์š”ํ•œ ์Šคํ‚ฌ์ด ๋  ๊ฒƒ ๊ฐ™๋‹ค๋Š” ๋Š๋‚Œ์ด ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ๊ต‰์žฅํžˆ ๋งŽ์€ ํƒ€์ž…๊ณผ ๊ฐ์ฒด์ง€ํ–ฅ ๊ฐœ๋…์„ ์ ์šฉํ•˜๋Š”๋ฐ ํŽธ๋ฆฌํ–ˆ๊ณ , ๋ฌด์—‡๋ณด๋‹ค ์›ํ•˜๋Š” ํƒ€์ž…์„ ๋งŒ๋“ค์–ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ด ๊ฐ€์žฅ ๋งˆ์Œ์— ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋‹ˆ ๊ฐœ๋ฐœ์ž๋ฅผ ํ’€์–ด๋‘๋Š” ๋“ฏํ•œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ณด๋‹ค ..

[Javascript] className, classList, ๊ทธ๋ฆฌ๊ณ  toggle!

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ style๋ฅผ ๋ฐ”๊พธ๊ณ  ์‹ถ์„ ๋•Œ ๋ฐ”๋กœ. style๋กœ ๋ณ€๊ฒฝํ•ด๋„ ๋˜์ง€๋งŒ, ์ฝ”๋“œ๋„ ๊ธธ์–ด์ง€๊ณ  ๋ฌด์—‡๋ณด๋‹ค JSํŒŒ์ผ์—์„œ CSS๋ฅผ ์“ฐ๊ณ  ์žˆ๋‹ค๋Š” ๊ฒŒ ๋งˆ์Œ์— ๊ฑธ๋ฆฐ๋‹ค. ์ด๋Ÿด ๋•Œ๋Š” ๋ฏธ๋ฆฌ css ํŒŒ์ผ์— ๋ณ€๊ฒฝํ•ด๋‘˜ ์Šคํƒ€์ผ์„ ์ง€์ •๋œ ์ด๋ฆ„์œผ๋กœ ์„ ์–ธํ•ด๋‘๊ณ  ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ class๋ฅผ ๋ณ€๊ฒฝ๋งŒ ํ•ด์ฃผ๋ฉด ๋œ๋‹ค! 1. className className์€ HTML์—์„œ ๋ถˆ๋Ÿฌ์˜จ Element์˜ class ์ด๋ฆ„์„ css์—์„œ ์ง€์ •ํ•œ ์„ ํƒ์ž ์ด๋ฆ„์œผ๋กœ ๋ณ€๊ฒฝํ•œ๋‹ค. Element๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ์€ document.getElementsByClassName์ด๋‚˜ querySelector๋กœ ๊ฐ€์ ธ์˜จ๋‹ค. // Javascript function changeStyle() { ๊ฐ€์ ธ์˜จElement.className = "๋ณ€๊ฒฝํ•  ์ด๋ฆ„"; } // CSS .๋ณ€๊ฒฝํ•  ์ด..