winterlood
@winterlood
Students
37,843
Reviews
2,665
Course Rating
4.9
Posts
Q&A
React 19 ๋ฒ์ ์์ ์๋ก์ด ๋ฆฐํธ ๊ท์น์ผ๋ก setState() ํธ์ถํ๊ธฐ๊ฐ ์ ๊ฒฝ์ฐ์ ๋๋ค.
์๋ ํ์ธ์ codingbear๋ ์ด์ ํ์ ๋๋ค.์ด ๊ฒฝ๊ณ ๋ useEffect ์์์ setState๋ฅผ ์ง์ ํธ์ถํ ๋ ๋ํ๋๋ React์ ์๋ก์ด lint ๊ฒฝ๊ณ ์ ๋๋ค. ์๋์ ์ ์์ ์ผ๋ก ๋์ง๋ง, ์ฑ๋ฅ ์ด์๋ ๋ฌดํ ๋ ๋๋ง์ ์ ๋ฐํ ๊ฐ๋ฅ์ฑ์ด ์์ด์ ๊ฒฝ๊ณ ๋ฅผ ๋์์ฃผ๋ ๊ฑฐ์ฃ .๋ง์ฝ ๊ฒฝ๊ณ ๋ฉ์ธ์ง๋ฅผ ์ ๊ฑฐํ๊ณ ์ถ์ผ์๋ค๋ฉด eslint.config.js ํ์ผ์ ๋ค์ rules๋ฅผ ์ถ๊ฐํ์๋ฉด ๋ฉ๋๋ค. "react-hooks/set-state-in-effect": "off",์ด ๊ฒฝ๊ณ ๋ ๋น๊ต์ ์ต๊ทผ์ ์ถ๊ฐ๋ ๊ท์น์ด๋ผ, ๊ฐ์๋ฅผ ์ดฌ์ํ ๋น์์๋ ์์๊ฑฐ๋ ๋ ์๊ฒฉํ์ ์ ์์ต๋๋ค.
- 0
- 2
- 29
Q&A
select a variant ์ ํ์์ javascript์ javascript+react compiler ์ค ๋ฌด์์ ์ ํํด์ผํ๋์? com
์๋ ํ์ธ์ ๋ฆฌํธ๋ ์ด์ ํ์ ๋๋ค.์๋ Codingbear๋์ด ์ ์ค๋ช ํด์ฃผ์ ๋๋ก javascript ์ ํ์ ์ถ์ฒ๋๋ฆฝ๋๋ค!
- 0
- 2
- 26
Q&A
onMouseEnter ๊ด๋ จ ๋ฌธ์ ๋๋ฆฝ๋๋ค
์๋ ํ์ธ์ ๋ง๋๋ฝ๋ ์ด์ ํ์ ๋๋ค.ํฌ๋กฌ์์๋ง onMouseEnter๊ฐ ๋ง์ฐ์ค๋ฅผ ์ฌ๋ ธ์ ๋ ๋์ํ์ง ์๋ ๋ฌธ์ ๋, ํฌ๋กฌ ๋ธ๋ผ์ฐ์ ์ ํ์ฅ ํ๋ก๊ทธ๋จ์ด ๋ง์ฐ์ค ์ด๋ฒคํธ๋ฅผ ์ฐจ๋จํ๊ณ ์์ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค. ๊ด๊ณ ์ฐจ๋จ๊ธฐ๋ ๊ธฐํ ํ์ฅ ํ๋ก๊ทธ๋จ๋ค์ด ํน์ ์ด๋ฒคํธ๋ฅผ ๊ฐ์ญํ๋ ๊ฒฝ์ฐ๊ฐ ์ข ์ข ์๊ฑฐ๋ ์.ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๊ฐ๋จํฉ๋๋ค! ํฌ๋กฌ์ ์ํฌ๋ฆฟ ๋ชจ๋(Ctrl + Shift + N)๋ก ์ด์ด์ ํ ์คํธํด๋ณด์ธ์. ์ํฌ๋ฆฟ ๋ชจ๋์์๋ ํ์ฅ ํ๋ก๊ทธ๋จ์ด ๊ธฐ๋ณธ์ ์ผ๋ก ๋นํ์ฑํ๋๊ธฐ ๋๋ฌธ์, ์ด๊ฒ ์์ธ์ด๋ผ๋ฉด ์ ์์ ์ผ๋ก ๋์ํ ๊ฒ๋๋ค. ์ํฌ๋ฆฟ ๋ชจ๋์์ ์ ๋๋ค๋ฉด ํ์ฅ ํ๋ก๊ทธ๋จ์ ํ๋์ฉ ๋นํ์ฑํํด๋ณด์๋ฉด์ ์ด๋ค ํ์ฅ์ด ๋ฌธ์ ์ธ์ง ์ฐพ์๋ณด์๋ฉด ๋ฉ๋๋ค!
- 0
- 3
- 30
Q&A
์๋ก์ ์ ๋์ธ ํ์ ์ด discriminated union๊ณผ ๋์์ด ์ธ๊ฐ์?
์๋ ํ์ธ์ lv 3. ์ด๋ณด์๋ ์ด์ ํ์ ๋๋ค.๋ค ๊ฐ์ ๊ฐ๋ ์ ๋๋ค. ๊ฐ์์์ ์๊ฐํ "์๋ก์ ์ ๋์จ ํ์ "์ ์์ด๋ก๋ discriminated union ๋๋ tagged union์ด๋ผ๊ณ ๋ถ๋ฆฌ๋ ๊ฐ๋ ์ ํ๊ตญ์ด๋ก ํํํ ๊ฑฐ์์."์๋ก์"๋ผ๋ ํํ์ ์ํ์ ์๋ก์ ์งํฉ(disjoint sets)์์ ๋ฐ์จ ๊ฑด๋ฐ, ๊ฐ ๋ฉค๋ฒ ํ์ ์ด ์๋ก ๊ฒน์น์ง ์๋๋ค๋ ์๋ฏธ๋ฅผ ๋ด๊ณ ์์ต๋๋ค. ๊ฒฐ๊ตญ ๊ฐ์ ๊ฐ๋ ์ธ๋ฐ ์ด๋ฆ๋ง ๋ค๋ฅธ ๊ฑฐ๋ผ์, ์์ด ์๋ฃ์์ discriminated union์ด ๋์ค๋ฉด "์ ์๋ก์ ์ ๋์จ ํ์ ์ด๊ตฌ๋!" ํ๊ณ ์ดํดํ์๋ฉด ๋ฉ๋๋ค!
- 0
- 2
- 30
Q&A
๋ฐฐ์ด์ ๋ ๋๋ง ๊ด๋ จ ์ง๋ฌธ ๋๋ฆฝ๋๋ค.
์๋ ํ์ธ์ ๋ง๋๋ฝ๋ ์ด์ ํ์ ๋๋ค.React์์ {[1,2,3]}์ ๋ ๋๋งํ๋ฉด "123"์ผ๋ก ๋์ค๋ ๊ฑด, React๊ฐ ๋ฐฐ์ด์ ๋ง๋๋ฉด ๊ฐ ์์๋ฅผ ํ๋์ฉ ๊บผ๋ด์ ๊ฐ๋ณ์ ์ผ๋ก ๋ ๋๋งํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ฆ {[1,2,3]}์ {1}{2}{3}๊ณผ ๋์ผํ๊ฒ ์ฒ๋ฆฌ๋๋ ๊ฑฐ์์.๊ทธ๋ฐ๋ฐ ์ค์ ๋ก ์ด๋ฐ ํจํด์ด ์ฃผ๋ก ์ฌ์ฉ๋์ง๋ ์์ต๋๋ค. ๋ฐฐ์ด์ ๋ณดํต map ๋ฉ์๋๋ฅผ ํ์ฉํด ๋ณ๋์ ์ปดํฌ๋ํธ๋ HTML ์์๋ก ๋ ๋๋ง ๋๊ธฐ ๋๋ฌธ์(๋์ค์ ๋ฐฐ์๋๋ค), ์ง๊ธ์ "์ ๋ฐฐ์ด์ JSX์ ๋ฃ์ผ๋ฉด ์ด๋ ๊ฒ ๋๋๊ตฌ๋" ์ ๋๋ก๋ง ์๊ณ ๋์ด๊ฐ์๋ฉด ์ถฉ๋ถํฉ๋๋ค!
- 0
- 2
- 39
Q&A
4.6 id๋ฅผ string์ผ๋ก ๋ฐ๊พธ๋๊น ์ค๋ฅ๊ฐ ๋์
์๋ ํ์ธ์ ๊ฐ์ด๋ ์ด์ ํ์ ๋๋ค.์ฌ๋ ค์ฃผ์ ์คํฌ๋ฆฐ์ท์ ๋ณด๋ TodoItem ์ปดํฌ๋ํธ์ todo ๊ฐ์ฒด๋ฅผ ์คํ๋ ๋๋ก ์ ๋ฌํ๋ ๋ถ๋ถ์์ ํ์ ์๋ฌ๊ฐ ๋ฐ์ํ๊ณ ์๋ค์.์ด ์ค๋ฅ๋ id๋ฅผ string์ผ๋ก ๋ฐ๊พธ์ จ์ง๋ง, TodoItem ์ปดํฌ๋ํธ์ props ํ์ ์ ์์์๋ ์์ง id๊ฐ number๋ก ๋์ด์์ ๋ ๋ฐ์ํฉ๋๋ค. id์ ํ์ ์ ๋ณ๊ฒฝํ์ค ๋๋ ํด๋น ํ์ ์ ์ฌ์ฉํ๋ ๋ชจ๋ ๊ณณ์ ํจ๊ป ์์ ํด์ฃผ์ ์ผ ํ๊ฑฐ๋ ์.ํ์ธํด๋ณด์ ์ผ ํ ๋ถ๋ถ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:- TodoItem ์ปดํฌ๋ํธ์ props ํ์ (id๊ฐ string์ผ๋ก ๋์ด์๋์ง)- Todo ํ์ ์ ์ (id๊ฐ string์ผ๋ก ๋์ด์๋์ง)- useMutation ๋ฑ์์ id๋ฅผ ์ฌ์ฉํ๋ ๋ถ๋ถํน์ ๊ทธ๋๋ ํด๊ฒฐ์ด ์ ๋์๋ฉด, ํ์คํ ์ค๋ฅ์ ์์ธ์ ํ์ ํ๊ธฐ ์ํด ์ ์ฒด ์ฝ๋๋ฅผ ํ์ธํด๋ด์ผ ํฉ๋๋ค. ์ ์ฒด ํ๋ก์ ํธ๋ฅผ ๊ตฌ๊ธ๋๋ผ์ด๋ธ ํน์ ๊นํ๋ธ๋ฅผ ํตํด ๋งํฌ ํํ๋ก ์ ๋ฌํด์ฃผ์ธ์
- 0
- 2
- 48
Q&A
์กฐ๊ฑด๋ถํ์ ์๊ฐ ์ค ํจ์์ค๋ฒ๋ก๋ฉ ํ์ฉ ์ ์ธ์์ํ์ ๊ณผ ํจ์์ ๋ฐํ๊ฐ์ ํ์ ์ด ๊นจ์ง๋ ๋ฌธ์
์๋ ํ์ธ์ ํ์๋ ์ด์ ํ์ ๋๋ค.์ฐ์ ๋ง์ํ์ ๋๋ก removeSpaces ํจ์์ number ํ์ ์ ์ธ์๋ฅผ ์ ๋ฌํ๋ ๊ฒฝ์ฐ ๋ฐํ๊ฐ์ผ๋ก๋ undefined๊ฐ ๋ฆฌํด๋ฉ๋๋ค. ์๋ชป ์๊ฐํ์ ๋ถ๋ถ์ ์์ด์!๋ค๋ง ์ด๊ฒ "ํ์ ์ด ๊นจ์ง๋ค"๊ฑฐ๋ "ํ์ ์์ ํ์ง ์๋ค"๊ณ ๋ณด๊ธฐ๋ ์ด๋ ต์ต๋๋ค. ์๋ํ๋ฉด number๋ฅผ ๋ฃ์์ ๋ ๋ฐํ ํ์ ์ด undefined๋ก ์ถ๋ก ๋๋ ๊ฒ ์์ฒด๊ฐ ์กฐ๊ฑด๋ถ ํ์ ์ด ์๋ํ๋๋ก ์ ํํ ๋์ํ๊ณ ์๋ ๊ฑฐ๊ฑฐ๋ ์. number extends string์ ๊ฑฐ์ง์ด๋๊น undefined๊ฐ ๋์ค๋ ๊ฒ ๋ง๋ ๊ฑฐ์ฃ . (์ค์ ๋ก undefined ๊ฐ์ด ๋ฐํ๋๊ธฐ๋ ํ๋๊น์)์ ๋ค๋ฆญ์ ๋ณ๋์ ์ ์ฝ์ ๊ฑธ์ง ์์ ๊ฑด, ์กฐ๊ฑด๋ถ ํ์ ์์ฒด๊ฐ ์ด๋ค ํ์ ์ด ๋ค์ด์ค๋ ๊ทธ์ ๋ง๋ ๋ฐํ ํ์ ์ ์ ์ฐํ๊ฒ ๊ฒฐ์ ํด์ฃผ๋ ์ญํ ์ ํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ฆ string์ด ์ค๋ฉด string, ๊ทธ ์ธ์๋ undefined โ ์ด๋ ๊ฒ ์์์ ๋ถ๊ธฐํด์ฃผ๋ ๊ฒ ์กฐ๊ฑด๋ถ ํ์ ์ ๋ชฉ์ ์ด์์.๋ฌผ๋ก ์ค๋ฌด์์ ์ด ํจ์๋ฅผ ๋ ์๊ฒฉํ๊ฒ ๋ง๋ค๊ณ ์ถ๋ค๋ฉด function removeSpaces(text: T) ์ฒ๋ผ ์ ๋ค๋ฆญ์ ์ ์ฝ์ ์ถ๊ฐํ ์๋ ์์ต๋๋ค. ํ์ง๋ง ๊ฐ์์์๋ ์กฐ๊ฑด๋ถ ํ์ ์ ๋์ ์๋ฆฌ๋ฅผ ์ค๋ช ํ๋ ๋ฐ ์ด์ ์ ๋ง์ถ๊ณ ์๊ธฐ ๋๋ฌธ์, ์ ๋ค๋ฆญ ์ ์ฝ๊น์ง๋ ๋ค๋ฃจ์ง ์์ ๊ฒ์ด๋ ์ฐธ๊ณ ํด์ฃผ์ธ์!
- 0
- 1
- 35
Q&A
2:40์ด refObj๋ฅผ ์ฝ์๋ก ์ถ๋ ฅ์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
์๋ ํ์ธ์ rumi du๋ ์ด์ ํ์ ๋๋ค.๊ฒฐ๋ก ๋ถํฐ ๋ง์๋๋ฆฌ๋ฉด, ๊ฐ์ ์ฝ๋๊ฐ ํ๋ฆฐ ๊ฑด ์๋๋๋ค! console.log(refObj)๋ ์ค์ ๋ก ์ค๋ฅ๋ฅผ ๋ฐ์์ํค์ง ์์ต๋๋ค.์ฌ๋ ค์ฃผ์ ์๋ฌ ๋ฉ์ธ์ง๋ฅผ ๋ณด๋ฉด, @workspace/explain ์ด๋ผ๋ ์ ๋์ฌ์ ํจ๊ป ์์ํ๋๋ฐ์, ์ด์ฒ๋ผ @workspace/explain์ผ๋ก ์์ํ๋ ์๋ฌ๋ฉ์ธ์ง๋ VSCode์ ์ฝํ์ผ๋ฟ์ ์ค๋ช ์ผ๋ก ์ค์ ํ๋ก์ ํธ ๋์์๋ ์๋ฌด๋ฐ ์ํฅ์ ์ฃผ์ง ์์ต๋๋ค.์๋์ ๊ฐ์ด ์ฝํ์ผ๋ฟ์ ์ฌ์ฉํ์ง ์๋ ํ๊ฒฝ์์์ ์ ์ฝ๋๋ ์๋ฌด๋ฐ ์ค๋ฅ๋ ๋ฐ์ํ์ง ์๋๊ฑธ ๋ณด์ค ์ ์์ต๋๋ค ๐(์ฌ์ง)๊ทธ๋ ๋ค๋ฉด Copilot์ด ์ด๋ฐ ๋ฉ์ธ์ง๋ฅผ ์ ๋ณด์ฌ์ฃผ๋! ์ด๋ ์ ์ฌ์ ์ผ๋ก ๋ฌธ์ ๊ฐ ๋ ์ ์๋ ์ฝ๋์ด๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ ๋๋ง ์ค์ ref๋ฅผ ํจ์์ ์ ๋ฌํ๋ฉด ๊ทธ ํจ์๊ฐ ref์ ๊ฐ์ ์ฝ์ ์๋ ์๊ธฐ ๋๋ฌธ์, Copilot์ด "ํน์ ์ด๊ฑฐ ์๋ํ ๊ฑฐ ๋ง์?" ํ๊ณ ์๋ ค์ฃผ๋ ๊ฑฐ์ฃ .๊ทธ๋ฐ๋ฐ ์ฐ๋ฆฌ๋ refObj๋ฅผ ์ฝ์์์ ํ์ต ๋ชฉ์ ์ผ๋ก ๊น๋ณด๋ ค๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์, ์ด๋ฐ ๊ฒฝ๊ณ ๋ ๋ฌด์ํด๋ ๋ฉ๋๋ค. ์ค์ ๋ก ํ๋ก์ ํธ๋ฅผ ์คํํด๋ณด์๋ฉด ์ ์์ ์ผ๋ก ๋์ํ๋ ๊ฑธ ํ์ธํ์ค ์ ์์ ๊ฑฐ์์!
- 0
- 2
- 51
Q&A
TS, ๋ฆฌ์กํธ ๊ฐ์์ค์ ๋ญ ๋จผ์ ์๊ฐํ๋๊ฒ ์ข์๊น์?
์๋ ํ์ธ์ cadenzza๋ ์ด์ ํ์ ๋๋ค.ํ์ ์คํฌ๋ฆฝํธ๋ฅผ ์ด์ฉํด React.js๊ฐ ์๋ Nest.js(Next.js ์๋๋๋ท)๋ Express.js ๋ฑ์ ๊ธฐํ ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ์ค ์์ ์ด๋ผ๋ฉด ํ์ ์คํฌ๋ฆฝํธ๋ถํฐ ์๊ฐํ์๋๊ฑธ ์ถ์ฒ๋๋ฆฌ๊ณ ,๊ทธ๋ ์ง ์๊ณ React.js๋ฅผ ๊พธ์คํ ์ฌ์ฉํ์ค ์์ ์ด๋ผ๋ฉด React.js๋ฅผ ์ ์๊ฐํ์๋๊ฑธ ์ถ์ฒ๋๋ฆฝ๋๋ค.
- 0
- 2
- 56
Q&A
ํ ์ธ์ฟ ํฐ ๊ด๋ จํ์ฌ
์๋ ํ์ธ์ ์นth๋ ์ด์ ํ์ ๋๋ค.์์ด๊ณ ! ์ฃ์กํฉ๋๋ค 25๋ ๋ง์ ์ฟ ํฐ ๊ต์ฒดํด์ผ ๋๋ค๋๊ฑธ ๊น๋นกํ์ต๋๋ค ... ใ ใ ์ฆ์ ๊ต์ฒดํด ๋์์ต๋๋ค! ๋ค์ ํ์ธ ๋ถํ๋๋ฆฝ๋๋ค ๐
- 0
- 2
- 45




