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

Lect & Tip/node, Angular, React21

[React] SPA ํŽ˜์ด์ง€ ์ด๋™ ์‹œ ์Šคํฌ๋กค ๋งจ ์œ„ ์œ ์ง€ ํ•˜๋Š” ๋ฐฉ๋ฒ• [React] SPA ํŽ˜์ด์ง€ ์ด๋™ ์‹œ ์Šคํฌ๋กค ๋งจ ์œ„ ์œ ์ง€ ํ•˜๋Š” ๋ฐฉ๋ฒ•์ตœ๊ทผ ์›น ๊ฐœ๋ฐœ ํŠธ๋ Œ๋“œ์—์„œ ์‹ฑ๊ธ€ ํŽ˜์ด์ง€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(SPA)์€ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜(UX)์„ ๊ทน๋Œ€ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ๋งŽ์ด ํ™œ์šฉ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ React์™€ ๊ฐ™์€ ํ”„๋ก ํŠธ์—”๋“œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ SPA๋ฅผ ๊ตฌ์ถ•ํ•  ๋•Œ, ํŽ˜์ด์ง€ ๊ฐ„ ์ „ํ™˜์ด ๋น ๋ฅด๊ณ  ๋ถ€๋“œ๋Ÿฌ์šด ์ „ํ™˜ ํšจ๊ณผ๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ด ํฐ ์žฅ์ ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๋Ÿฌํ•œ SPA์˜ ํŠน์„ฑ์ƒ ํŽ˜์ด์ง€ ์ด๋™ ์‹œ ์Šคํฌ๋กค ์œ„์น˜๊ฐ€ ์ด์ „ ํŽ˜์ด์ง€์˜ ์œ„์น˜๋ฅผ ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณธ ํฌ์ŠคํŒ…์—์„œ๋Š” React ํ™˜๊ฒฝ์—์„œ SPA ํŽ˜์ด์ง€ ์ด๋™ ์‹œ ์Šคํฌ๋กค์„ ํ•ญ์ƒ ๋งจ ์œ„๋กœ ์œ ์ง€ํ•˜๋Š” ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•๊ณผ ๊ทธ ๊ตฌํ˜„ ์‚ฌ๋ก€์— ๋Œ€ํ•ด ์‹ฌ๋„ ์žˆ๊ฒŒ ๋‹ค๋ฃจ์–ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.SPA์™€ ์Šคํฌ๋กค ๋ฌธ์ œ์˜ ์ดํ•ดSPA๋Š” ํ•œ ๋ฒˆ์˜ ๋กœ๋”ฉ์œผ๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ „์ฒด๋ฅผ ๋ถˆ๋Ÿฌ.. 2025. 2. 10.
[React] REST API, AXIOS๋กœ ๋ฐ›์•„์˜จ Array ๊ฐ์ฒด๋ฅผ mapํ•จ์ˆ˜ ํ˜ธ์ถœ์ด ๋ถˆ๊ฐ€๋Šฅํ• ๋•Œ [React] REST API, AXIOS๋กœ ๋ฐ›์•„์˜จ Array ๊ฐ์ฒด๋ฅผ mapํ•จ์ˆ˜ ํ˜ธ์ถœ์ด ๋ถˆ๊ฐ€๋Šฅํ• ๋•Œ์ด ๊ธ€์—์„œ๋Š” React๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ REST API๋กœ๋ถ€ํ„ฐ Axios๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์˜ฌ ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ๋ฐฐ์—ด(Array) ๊ฐ์ฒด์˜ map ํ•จ์ˆ˜ ํ˜ธ์ถœ ์˜ค๋ฅ˜์— ๋Œ€ํ•ด ์ƒ์„ธํžˆ ์„ค๋ช…ํ•˜๊ณ , ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๊ฐ„๋‹จํ•˜๋ฉด์„œ๋„ ํšจ๊ณผ์ ์ธ ๋ฐฉ๋ฒ•์„ ์†Œ๊ฐœํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ํŠนํžˆ ๋น„๋™๊ธฐ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์™€ ๊ด€๋ จํ•˜์—ฌ Promise ๊ฐ์ฒด๊ฐ€ ํ•ด๊ฒฐ๋˜๊ธฐ ์ „์— ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋ Œ๋”๋ง๋˜์–ด ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜์˜ ์›์ธ๊ณผ ํ•ด๊ฒฐ์ฑ…์„ ์ค‘์ ์ ์œผ๋กœ ๋‹ค๋ฃจ๋ฉฐ, ๋กœ๋”ฉ ์ƒํƒœ ๊ด€๋ฆฌ ๋ฐ ์กฐ๊ฑด๋ถ€ ๋ Œ๋”๋ง์„ ํ™œ์šฉํ•œ ์ ‘๊ทผ๋ฒ•์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•ฉ๋‹ˆ๋‹ค.๋„์ž…๋ถ€React๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด์„œ ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์™€ ๋ Œ๋”๋งํ•˜๋Š” ๊ณผ์ •์€ ๋งค์šฐ ์ผ๋ฐ˜์ ์ž…๋‹ˆ๋‹ค. ๋งŽ์€ ๊ฐœ๋ฐœ์ž๋“ค์ด Axios๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ REST API์™€ ํ†ต์‹ ํ•˜๋ฉฐ ๋ฐ์ดํ„ฐ.. 2024. 10. 18.
React ์‹คํ–‰ ์˜ค๋ฅ˜: npm ERR! errno -4058 ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• React ์‹คํ–‰ ์˜ค๋ฅ˜ - npm ERR! errno -4058 ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• React ํ”„๋กœ์ ํŠธ์—์„œ ๋ฐœ์ƒํ•˜๋Š” npm ์˜ค๋ฅ˜์˜ ์›์ธ๊ณผ ํ•ด๊ฒฐ์ฑ… React๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ ์ข…์ข… ๋งˆ์ฃผ์น˜๋Š” ๋ฌธ์ œ ์ค‘ ํ•˜๋‚˜๋Š” npm ERR! errno -4058 ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค. ์ด ์˜ค๋ฅ˜๋Š” React ํ”„๋กœ์ ํŠธ๋ฅผ ์‹คํ–‰ํ•  ๋•Œ npm ๊ด€๋ จ ๋ฌธ์ œ๋กœ ์ธํ•ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ธ€์—์„œ๋Š” ์ด ์˜ค๋ฅ˜์˜ ์›์ธ๊ณผ ๋‹ค์–‘ํ•œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์ž์„ธํžˆ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์˜ค๋ฅ˜์˜ ์›์ธ ํŒŒ์•… npm ERR! errno -4058 ์˜ค๋ฅ˜๋Š” ์ฃผ๋กœ ํŒŒ์ผ ์‹œ์Šคํ…œ ๊ด€๋ จ ๋ฌธ์ œ์—์„œ ๋น„๋กฏ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ํŒŒ์ผ ๋˜๋Š” ๋””๋ ‰ํ† ๋ฆฌ์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†๊ฑฐ๋‚˜, ํ•„์š”ํ•œ ํŒŒ์ผ์ด ์—†์„ ๋•Œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๊ตฌ์ฒด์ ์ธ ์›์ธ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค: ์ž˜๋ชป๋œ ํŒŒ์ผ ๊ฒฝ๋กœ: ํ”„๋กœ์ ํŠธ ๋‚ด์˜ ํŒŒ์ผ์ด๋‚˜ ๋””๋ ‰ํ† ๋ฆฌ ๊ฒฝ๋กœ๊ฐ€ ์ž˜๋ชป ์„ค์ •๋˜์—ˆ์„ ๋•Œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๊ถŒํ•œ ๋ถ€.. 2023. 11. 28.
๋ฆฌ์•กํŠธ ์ฟผ๋ฆฌ v5 ์—์„œ ๋ฐ”๋€ ์  react query v5 react query v5 ๋ฆฌ์•กํŠธ ์ฟผ๋ฆฌ v5์˜ ์ฃผ์š” ๋ณ€๊ฒฝ์‚ฌํ•ญ ๋ฆฌ์•กํŠธ ์ฟผ๋ฆฌ v5์—์„œ๋Š” ๋งŽ์€ ์ค‘์š”ํ•œ ๋ณ€ํ™”๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด react query v5 ๋ณ€ํ™”๋“ค์€ ๊ฐœ๋ฐœ์ž๋“ค์—๊ฒŒ ๋ณด๋‹ค ๋ช…ํ™•ํ•˜๊ณ  ๊ฐ„๊ฒฐํ•œ ์ฝ”๋“œ ์ž‘์„ฑ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋ฉฐ, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์œ ์ง€๋ณด์ˆ˜๋ฅผ ์šฉ์ดํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ๋‹จ์ผ ๊ฐ์ฒด ์‹œ๊ทธ๋‹ˆ์ฒ˜ ์ง€์›: ์ด์ „ ๋ฒ„์ „์—์„œ๋Š” useQuery์™€ ๊ฐ™์€ ํ•จ์ˆ˜๋“ค์ด TypeScript์—์„œ ๋‹ค์–‘ํ•œ ์˜ค๋ฒ„๋กœ๋”ฉ์„ ์ง€์›ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ v5์—์„œ๋Š” ๊ฐ์ฒด ํ˜•์‹๋งŒ์„ ์ง€์›ํ•˜์—ฌ, ๋”์šฑ ๊ฐ„๊ฒฐํ•˜๊ณ  ๋ช…ํ™•ํ•œ ์ฝ”๋“œ ์ž‘์„ฑ์ด ๊ฐ€๋Šฅํ•ด์กŒ์Šต๋‹ˆ๋‹คใ€7ใ€‘. queryClient.getQueryData ๋ฐ queryClient.getQueryState ๋ณ€๊ฒฝ: ์ด์ œ ์ด ํ•จ์ˆ˜๋“ค์€ queryKey๋งŒ์„ ์ธ์ž๋กœ ๋ฐ›์Šต๋‹ˆ๋‹ค. ์ด๋Š” API์˜ ์ผ๊ด€์„ฑ์„ ๋†’์ด๊ณ , ์‚ฌ์šฉ์˜ ๋‹จ์ˆœํ™”๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹คใ€8ใ€‘ใ€9ใ€‘.. 2023. 11. 13.
yarn install error Unexpected token \u0000 in JSON at position yarn install ํ•  ๋•Œ ๊ฐ„ํ˜น ๋งŒ๋‚˜๊ฒŒ ๋˜๋Š” error Unexpected token \u0000 in JSON at position ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• npm cache verify ํ•˜์ง€๋งŒ ๋ณ„ ์†Œ์šฉ์ด ์—†๋‹ค. ์–ด์ฐจํ”ผ ๋‚˜๋Š” ์–€ ์ธ์Šคํ†จ์„ ์‚ฌ์šฉํ•  ๊ฒƒ์ด๋ฏ€๋กœ... yarn cache clean yarn cache clean ๋ช…๋ น์„ ์‚ฌ์šฉํ•ด์„œ ์–€ ์บ์‹œ๋ฅผ ์ง€์šด๋‹ค. PS D:\Work\seoul\ams\ams-front> cd .\frontend\ PS D:\Work\seoul\ams\ams-front\frontend> yarn install yarn install v1.22.10 resolution inconsistencies caused by unsynchronized lock files. To clear this war.. 2022. 12. 22.
autoprefixer: Replace color-adjust to print-color-adjust. The color-adjust shorthand is currently deprecated. ๋œป ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• /end value has mixed support, consider using flex-end instead / Node-sass incompatible with ^4.0.0 VSCODE์—…๋ฐ์ดํŠธ ์ดํ›„ ๊ฐ‘์ž๊ธฐ ์—๋Ÿฌ๊ฐ€ ๋œจ๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค. ํ•˜์•„... ๋ญ์•ผ... ์•„ ๋ฌผ๋ก  ๋‚ด ์†Œ์Šค๋Š” ์•„๋‹ˆ๋‹ค. ๋‚œ ์ด๋ฏธ ํ•ด๊ฒฐ์„ ํ–ˆ์œผ๋ฏ€๋กœ... WARNING in ./node_modules/bootstrap/dist/css/bootstrap.min.css (./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[5].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[5].use[2]!./node_modules/source-map-loader/dist/cjs.js!./node_modules/bootstrap/dist/css/bootstrap.min.css) Module.. 2022. 10. 20.
๋ฆฌ์•กํŠธ ๋ฐ์ดํŠธํ”ผ์ปค ํฌ๋งท api axios error๋ฌธ์ œ react datepicker date format axios not working ๋ฆฌ์•กํŠธ์—์„œ๋Š” jquery์šฉ ๋ฐ์ดํŠธ ํ”ผ์ปค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค. ์•„๋‹ˆ ์‚ฌ์‹ค ๋ฆฌ์•กํŠธ์šฉ ๋ฐ์ดํŠธํ”ผ์ปค์ธ react datepicker๊ฐ€ ํ›จ์”ฌ ๊น”๋”ํ•˜๊ฒŒ ์‚ฌ์šฉ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๊ตณ์ด ์ œ์ด์ฟผ๋ฆฌ ๋ฐ์ดํŠธ ํ”ผ์ปค๋ฅผ ๋ถ™์—ฌ์•ผ ํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค. ์‚ฌ์‹ค ์•„์ง ๋ฆฌ์•กํŠธ๊ฐ€ ์ดˆ์งœ๋ผ react datepicker๋ฅผ ์˜จ์ „ํžˆ ๋‹ค๋ฃจ์ง€๋Š” ๋ชปํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ •์„์œผ๋กœ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์‚ฌ์‹ค ๋‚˜๋„ ์ž˜ ๋ชจ๋ฅด๊ฒ ๋‹ค. ์ผ๋‹จ, ์‹ ๊ทœ ํ”„๋กœ์ ํŠธ์—์„œ datepicker๋ฅผ ์‚ฌ์šฉํ•  ์ผ์ด ์žˆ์–ด์„œ ์„ค์น˜ํ–ˆ๋‹ค. yarn add react-datepicker ํ˜น์€ npm i react-datepicker ๋กœ ์„ค์น˜ ํ•˜๋ฉด ๋˜๊ฒ ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๋ฌธ์ œ๋Š” ์ด๋ ‡๊ฒŒ ์„ค์น˜ํ•˜๊ณ  import DatePicker from "react-datepicker"; ํ–ˆ์„ ๊ฒฝ์šฐ ์Šคํƒ€์ผ ๊นจ์ง ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. ์ด์œ ๋Š” ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ .. 2021. 5. 20.
์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ฆฌ์•กํŠธ ๋ฉ€ํ‹ฐ ๋ ˆ์ด์•„์›ƒ connected-react-router multi layout ์ ์šฉํ•˜๊ธฐ ๋ฆฌ์•กํŠธ๋ฅผ ๋ณ„๋กœ ์ข‹์•„ํ•˜์ง€ ์•Š๋Š” 1์ธ์ด๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์–ด์ฉ” ์ˆ˜ ์—†์ด ๋ฆฌ์•กํŠธ ํ”Œ์ ์„ ํ•ด์•ผ ํ•ด์„œ ํผ๋ธ”๋ฆฌ์…” ๊ฒธ ํ”„๋ŸฐํŠธ ์—”๋“œ๋กœ ์ฐธ์—ฌ ์ค‘์ด๋‹ค. jquery๋ผ๋ฉด ๋‹จ๋ฐ•์— ๋๋‚ผ ๋ฌธ์ œ์— ๊ณ ๋ฏผํ•˜์ง€ ์•Š์•„๋„ ๋  ๋ฌธ์ œ๋“ค์ด ๋ฆฌ์•กํŠธ์—๋Š” ๋„˜์ณ๋‚œ๋‹ค. ์™œ ์“ฐ๋Š”์ง€๋Š” ์—ฌ์ „ํžˆ ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ ๊นŒ๋ผ๋‹ˆ๊นŒ ๊น๋‹ค. ์ผ๋‹จ SPA ์‚ฌ์ดํŠธ์—์„œ ๋ฆฌ์•กํŠธ๊ฐ€ ํŽธํ•œ ๊ฒƒ์€ ๋Œ€์ถฉ ์ง์ž‘์€ ๋œ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ SPA์‚ฌ์ดํŠธ๋ผ๊ณ ๋Š” ํ•ด๋„, ํ•œ ์‚ฌ์ดํŠธ์— ์„œ๋กœ ๋‹ค๋ฅธ ๋ ˆ์ด์•„์›ƒ์ด ์—ฌ๋Ÿฟ ์‚ฌ์šฉํ•ด์•ผ ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค. ๋‹จ์ ์œผ๋กœ GNB, LNB๊ฐ€ ์—†๋Š” IntroํŽ˜์ด์ง€, LoginํŽ˜์ด์ง€ ๊ทธ๋ฆฌ๊ณ  ์‚ฌ์šฉ์ž ํ™”๋ฉด๊ณผ ๋‹ค๋ฅธ ๊ด€๋ฆฌ์ž ํ™”๋ฉด์˜ ๋ ˆ์ด์•„์›ƒ์€ ์„œ๋กœ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ๋‹ค. ์•„๋‹ˆ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ๋Š” ์ •๋„๊ฐ€ ์•„๋‹ˆ๋ผ ๋Œ€์ฒด๋กœ ๋‹ค๋ฅด๋‹ค. ๊ทธ๋Ÿด ๋•Œ ๋ฆฌ์•กํŠธ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋ ˆ์ด์•„์›ƒ ์ ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๊ฝค ๋‹ค์–‘ํ•˜์ง€๋งŒ ์ง๊ด€์ ์ด๊ณ  ์‰ฌ์šด ๋ฐฉ๋ฒ•์„ ์†Œ๊ฐœํ•˜๊ฒ ๋‹ค... 2021. 2. 10.
React Js - Global CSS ์„ค์ • + styled reset. classNames/bind :global local css ๋™์‹œ ์ ์šฉ react module.css :global local css ๋™์‹œ ์ ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•. classNames/bind๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์„ ๋•Œ className={cx("label","labelTst")} .labelTst๋Š” app.module.css์— ๋“ฑ๋ก. React Js - Global CSS ์„ค์ • + styled reset css ์ดˆ๊ธฐํ™”๋ฅผ ์œ„ํ•ด styled-reset ์„ค์น˜ styled-components๋Š” local๋กœ ๋™์ž‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์— global ํ•œ css๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด GlobalStyles.js ์ƒ์„ฑ ์„ค์น˜ NPM์„ค์น˜ : npm install styled-reset styled-components ์–€ ์‚ด์น˜: yarn add styled-reset styled-components ์‚ฌ์šฉ Components/G.. 2021. 1. 14.