๋ฐ˜์‘ํ˜•

Framework/React 47

[React] useState๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ† ๊ธ€ ๋ฒ„ํŠผ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ• Button toggle on off

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” react ๋ฆฌ์•กํŠธ์—์„œ ํ† ๊ธ€ ๋ฒ„ํŠผ์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. How to solve the problem ์ €๋Š” ํ† ๊ธ€ ๋ฒ„ํŠผ์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด์„œ useState hook์„ ์‚ฌ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค. useState hook is used to initialize with initial value and function which changes its value on click event handler. ์šฐ์„  ์ฒ˜์Œ ํ† ๊ธ€๋ฒ„ํŠผ์˜ on/off ์ƒํƒœ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” state๋ฅผ ๋งŒ๋“ค์–ด์ค๋‹ˆ๋‹ค. const [isOff, setIsOff] = useState(true); ์ดํ›„ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•  ๋•Œ๋งˆ๋‹ค, ํ•ด๋‹น state๋ฅผ ์‚ฌ์šฉํ•ด์ค๋‹ˆ๋‹ค. on/off ์ƒํƒœ์— ๋”ฐ๋ผ css class๋„ ๋‹ค๋ฅด๊ฒŒ ์ ์šฉํ•ด์ค„ ..

Framework/React 2023.03.11

[React] apexcharts legend ๋ฒ”๋ก€ padding ์กฐ์ ˆํ•˜๋Š” ๋ฐฉ๋ฒ•

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” apexcharts ์—์„œ legend(๋ฒ”๋ก€) padding์„ ์กฐ์ ˆํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ œ ๊ฒฝ์šฐ ์•„๋ž˜์˜ ์ฐจํŠธ legend ๋ฒ”๋ก€๊ฐ€ ๊ธฐ์ค€ ์ขŒํ‘œ์— ๋น„ํ•ด ๋„ˆ๋ฌด ์™ผ์ชฝ์œผ๋กœ ์น˜์šฐ์ณ์ ธ ์žˆ์–ด์„œ left-padding์œผ๋กœ ํ•ด๊ฒฐํ•˜๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค. First try ์šฐ์„  ์ €๋Š”apexchart lengend ์˜ ์†์„ฑ์— padding ์†์„ฑ ์œ ๋ฌด๊ฐ€ ์žˆ๋Š”์ง€ ๊ฒ€์ƒ‰ํ•ด๋ดค์Šต๋‹ˆ๋‹ค. apexChart ๋‚ด legend ์†์„ฑ์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. padding ๊ด€๋ จ ์†์„ฑ์ด ์—†๋Š” ๊ฒƒ ๊ฐ™์•˜์Šต๋‹ˆ๋‹ค. legend: { show: true, showForSingleSeries: false, showForNullSeries: true, showForZeroSeries: true, position: 'bottom'..

Framework/React 2023.03.09

[React] div scroll ๋งจ ์œ„๋กœ ์˜ฌ๋ฆฌ๊ธฐ / scroll ์ปจํŠธ๋กค ํ•˜๋Š” ๋ฐฉ๋ฒ• (useRef ์‚ฌ์šฉ)

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” React scroll ์Šคํฌ๋กค์„ ์ปจํŠธ๋กคํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. My case ์ €์˜ ๊ฒฝ์šฐ ์ปดํฌ๋„ŒํŠธ ํ™”๋ฉด์ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ตฌ์„ฑ๋˜์–ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฒŒ์‹œ๊ธ€ ๋ฆฌ์ŠคํŠธ๊ฐ€ ์žˆ๊ณ , ํŠน์ • ๊ฒŒ์‹œ๊ธ€์„ ํด๋ฆญํ•˜๋Š” ์ˆœ๊ฐ„ ํŠน์ • ๊ฒŒ์‹œ๊ธ€์— ๋Œ€ํ•œ ๋‚ด์šฉ์ด ๋ณด์ด๊ณ , ์•„๋ž˜๋กœ ๋‹ค๋ฅธ ๊ฒŒ์‹œ๊ธ€๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ์‹  ๊ฒŒ์‹œ๊ธ€ ๋ชฉ๋ก์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ตœ์‹  ๊ฒŒ์‹œ๊ธ€ ๋ชฉ๋ก ์ค‘ ํ•˜๋‚˜๋ฅผ ํด๋ฆญํ•˜๋ฉด, ๋ณธ๋ฌธ ๋‚ด์šฉ์ด ๋ณ€ํ•˜๋Š” ํ˜•์‹์ž…๋‹ˆ๋‹ค. How to solve the problem 1. ๋Œ€์ƒ div์— ref๋ฅผ ํ™œ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์•„๋ž˜์˜ ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. const postDetailRef = useRef(null); 2. ์ •์˜ํ•œ ref ๊ฐ’์„ div tag์— ํ• ๋‹นํ•ด์ค๋‹ˆ๋‹ค. {postDetail && ( {postDetail.title} {..

Framework/React 2023.03.06

[React] DatePicker RangeError: Invalid time value safari ์˜ค๋ฅ˜

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ๋ฆฌ์•กํŠธ์—์„œ DatePicker๋กœ Date ๊ฐ์ฒด๋ฅผ ๋‹ค๋ฃจ๋˜ ๋„์ค‘ ํ•ด๋‹น ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. RangeError: Invalid time value ๋กœ์ปฌ PC ํฌ๋กฌ ํ™˜๊ฒฝ์—์„œ ํ…Œ์ŠคํŠธ ํ–ˆ์„ ๋•Œ๋Š” ๋‚˜์ง€ ์•Š์•˜๋˜ ์˜ค๋ฅ˜์˜€๊ณ , IOS ์›น์•ฑ ํ…Œ์ŠคํŠธ๋ฅผ ํ•˜๋˜ ๋„์ค‘ ๋ฐœ๊ฒฌํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฐ”๋กœ ๊ตฌ๊ธ€๋ง์„ ํ•ด๋ดค์Šต๋‹ˆ๋‹ค. ์ฐธ๊ณ ๋กœ ์ €๋Š” ex) 2023.03.01 ํ˜•ํƒœ์˜ ์ŠคํŠธ๋ง ๋ฌธ์ž๋ฅผ new Date๋กœ ๋ณ€ํ™˜ํ–ˆ์Šต๋‹ˆ๋‹ค. Why? ํฌ๋กฌ์€ dot(.)ํ˜•์‹์„ ํฌํ•จํ•˜๋Š” ๋ฌธ์ž์—ด์„ new Date๋กœ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์ง€๋งŒ, ์‚ฌํŒŒ๋ฆฌ์˜ ๊ฒฝ์šฐ date ๋ณ€ํ™˜ ์‹œ format์— dot(.)๋ฅผ ํฌํ•จํ•  ๊ฒฝ์šฐ ์—๋Ÿฌ๋ฅผ ๋ฐœ์ƒ์‹œํ‚จ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. How to solve the problem ํ•ด๋‹น ์—๋Ÿฌ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์€ ์—ฌ๋Ÿฌ ๊ฐ€์ง€๊ฐ€ ์žˆ๋Š”๋ฐ์š”. ์ €๋Š” ์•„๋ž˜์˜ ..

Framework/React 2023.03.01

[React] Module not found: Can't resolve ์˜ค๋ฅ˜ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” ๋ฆฌ์•กํŠธ์—์„œ ์ข…์ข… ๋‚˜ํƒ€๋‚˜๋Š” ์˜ค๋ฅ˜์ธ Module not found: Can't resolve ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. Module not found: Can't resolve "๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ช…" ์šด์˜ ์ด์Šˆ๊ฐ€ ์ ‘์ˆ˜๋˜์–ด ํ•ด๋‹น ์ด์Šˆ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด project ๋ฅผ ์—ด์—ˆ๋Š”๋ฐ์š”, ๊ฐ‘์ž๊ธฐ run ํƒ€์ž„์— ์œ„์™€ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋กœ ์ถ”๊ฐ€ ์„ค์น˜ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋„ ์—†์—ˆ๋Š”๋ฐ ์™œ ์˜ค๋ฅ˜๊ฐ€ ๋‚˜๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ๋”๋ผ๊ณ ์š”. ํ„ฐ๋ฏธ๋„์— ๋‚˜ํƒ€๋‚œ ํ•ด๋‹น ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์„ค์น˜ํ•ด๋„ ๋˜‘๊ฐ™์€ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฒ„์ „์„ ๋ฐ”๊พธ๊ณ , ํ•ด๋‹น ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋‹ค์‹œ ์„ค์น˜ํ•ด๋„ ๊ณ„์† ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ๊ตฌ์š”. ๊ทธ๋ž˜์„œ ์ตœํ›„์˜ ์ˆ˜๋‹จ์œผ๋กœ ๋‹ค์Œ์˜ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค! How to solve 1. ์•„๋ž˜ ํŒŒ์ผ ๋ฐ ํด๋”๋ฅผ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค. - yarn-..

Framework/React 2023.02.23

[React] xlsx library ์‚ฌ์šฉ ์‹œ ๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ (ios/android) ์—‘์…€ ํŒŒ์ผ ์•ˆ์—ด๋ฆฌ๋Š” ์˜ค๋ฅ˜ ํ•ด๊ฒฐ๋ฒ• (+ ์—‘์…€ ํ™•์žฅ์ž)

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. react ์—์„œ xlsx ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—‘์…€ ๋‹ค์šด๋กœ๋“œ ๊ฐ€๋Šฅ์„ ๊ตฌํ˜„ํ–ˆ๋Š”๋ฐ์š”, ์›น์•ฑ์ด์—ฌ์„œ PC ๋ธŒ๋ผ์šฐ์ €์—์„œ๋งŒ ํ…Œ์ŠคํŠธ ํ•ด๋ณด๊ณ , ์‹ค์ œ ios / android ์—์„œ๋Š” ํ…Œ์Šค๋ฅผ ํ•ด๋ณด์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹น์—ฐํžˆ PC ๋ธŒ๋ผ์šฐ์ €์—์„œ ์—‘์…€ ํŒŒ์ผ์ด ์ž˜ ๋‹ค์šด๋ฐ›์•„์ง€๊ณ , ์ž˜ ์—ด๋Ÿฌ์„œ ๋™์ž‘์ด ์ž˜ ๋ ๊ฑฐ๋ผ๊ณ  ์ƒ๊ฐํ–ˆ์–ด์š”. ํ•˜์ง€๋งŒ, ์‹ค์ œ ๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ์—์„œ ํ…Œ์ŠคํŠธ ํ•ด๋ณด๋‹ˆ ์—‘์…€ ํŒŒ์ผ ๋‹ค์šด์€ ๋˜๋Š”๋ฐ, ์—ด๋ฆฌ์ง€๊ฐ€ ์•Š๋”๋ผ๊ณ ์š”. ์›์ธ์ด ๋ฌด์—‡์ผ๊นŒ ๊ณ ๋ฏผํ•˜๋ฉฐ ๊ตฌ๊ธ€๋ง์„ ํ•ด๋ดค์Šต๋‹ˆ๋‹ค. How to solve the problem ๊ธฐ์กด์— ์ €๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด ํ™•์žฅ์ž๋ฅผ xlsx์„ ์‚ฌ์šฉ์˜€๋Š”๋ฐ์š”, XLSX.writeFile (wb,"sample.xlsx "); ์ด๋ ‡๊ฒŒ ํ™•์žฅ์ž๋ฅผ xls๋กœ ๋ฐ”๊พธ๊ณ , ๋ชจ๋ฐ”์ผ์—์„œ ํ…Œ์ŠคํŠธ ํ•ด๋ณด๋‹ˆ ์ž˜ ์—ด๋ฆฌ๋”๋ผ๊ณ ์š”. XLSX.wr..

Framework/React 2023.02.22

[React] apexcharts yaxis (y์ถ•) 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ๋ฐฉ๋ฒ•

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” apexcharts ์—์„œ yaxis y์ถ•์„ 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. apexcharts๋ฅผ ์ด์šฉํ•ด์„œ ์ฐจํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์—…ํ•˜๊ณ  ์žˆ์—ˆ๋Š”๋ฐ์š”, ์ฐจํŠธ์˜ y์ถ•๊ฐ’์„ 0์œผ๋กœ ๊ณ ์ •ํ•˜๊ณ  ์‹ถ์€๋ฐ, ๊ณ„์† ์ˆซ์ž ๋ฒ”์œ„๊ฐ€ ๋‹ฌ๋ผ์ง€๋ฉด์„œ ๊ฐ’์ด ๋ณ€ํ•˜๋”๋ผ๊ณ ์š”. ๊ทธ๋ž˜์„œ ๊ตฌ๊ธ€๋ง์„ ํ•ด๋ดค์Šต๋‹ˆ๋‹ค. How to solve the problem ์•„๋ž˜์™€ ๊ฐ™์ด yaxis ์†์„ฑ์—์„œ min์„ 0์„ ์ ์šฉํ•˜๋ฉด y์ถ• ๊ฐ’์ด 0์œผ๋กœ ๊ณ ์ •๋˜์–ด ์„ธํŒ…๋ฉ๋‹ˆ๋‹ค. yaxis: { tickAmount: 3.5, min: 0, forceNiceScale: true, labels: { show: true, rotate: 0, style: { colors: '#828282', fontSize: '11rem', fontFamily..

Framework/React 2023.02.17

[React] apexcharts yaxis (y์ถ•) labels float ์†Œ์ˆ˜์  ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•, toFixed() ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” apexcharts ์—์„œ yaxis label ์˜ ์†Œ์ˆ˜์  ์ฒ˜๋ฆฌ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. How to solve the problem ์•„๋ž˜์™€ ๊ฐ™์ด yaxis > labels > formatter ๋ฅผ ์ ์šฉํ•˜๊ณ , toFixed() ๋ฉ”์†Œ๋“œ๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ฐ’์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. yaxis: { labels: { formatter(value) { return value.toFixed(0); }, }, },

Framework/React 2023.02.16

[React] ๊ธฐ์กด ๋ฐ์ดํ„ฐ์—์„œ API Fetching ํ›„(๋”๋ณด๊ธฐ ๋ฒ„ํŠผ ํด๋ฆญ ํ›„) ์ƒˆ๋กœ ๋ถˆ๋Ÿฌ์˜จ ๋ฐ์ดํ„ฐ ํ•ฉ์น˜๋Š” ๋ฐฉ๋ฒ• / ๋”๋ณด๊ธฐ ๋ฒ„ํŠผ ํŽ˜์ด์ง€๋„ค์ด์…˜

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” React์—์„œ ๊ธฐ์กด ๋ฐ์ดํ„ฐ์—์„œ ๋”๋ณด๊ธฐ ๋ฒ„ํŠผ ํด๋ฆญ ํ›„ ์ƒˆ๋กœ ๋ถˆ๋Ÿฌ์˜จ ๋ฐ์ดํ„ฐ ํ•ฉ์น˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ณต์ง€์‚ฌํ•ญ ๋ชฉ๋ก ์กฐํšŒ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋˜ ๋„์ค‘ ๋ฆฌ์ŠคํŠธ๊ฐ€ ๋งŽ์•„์งˆ ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์•„ ๋”๋ณด๊ธฐ ๋ฒ„ํŠผ UI๋ฅผ ์ถ”๊ฐ€ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฐธ๊ณ ๋กœ API๋Š” ์Šคํ”„๋ง๋ถ€ํŠธ์˜ Pageable ๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰ ๊ธฐ์กด ๋ฐ์ดํ„ฐ์—์„œ ๋”๋ณด๊ธฐ ๋ฒ„ํŠผ UI๋ฅผ ํด๋ฆญํ•  ๋•Œ๋งˆ๋‹ค page ๊ฐ€ +1 ์”ฉ ์ฆ๊ฐ€ํ•˜๋ฉด์„œ ์ƒˆ๋กœ ๋ถˆ๋Ÿฌ์˜จ ๋ฐ์ดํ„ฐ๋ฅผ ํ™”๋ฉด์— ๋ณด์—ฌ์ค˜์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. How to implement ์•„๋ž˜์™€ ๊ฐ™์ด NoticeList ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ด…์‹œ๋‹ค. fetchNotice๋ผ๋Š” ํ•จ์ˆ˜๋ฅผ ๋ถˆ๋Ÿฌ์˜ฌ ๋•Œ๋งˆ๋‹ค, ๊ธฐ์กด ๋ฐ์ดํ„ฐ์— ์ƒˆ๋กœ ๋ถˆ๋ ค์ง„ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•ด์ค˜์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์œ„ ์ฝ”๋“œ์—์„œ๋Š” ์ƒˆ๋กœ ๋ถˆ๋ ค์ง„ ๋ฐ์ดํ„ฐ๋งŒ์„ setN..

Framework/React 2023.02.11

[React] Moment.js AM/PM์„ ์˜ค์ „/์˜คํ›„๋กœ ํ‘œ์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” Moment.js ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ AM/PM๊ฐ€ ์•„๋‹Œ ์˜ค์ „/์˜คํ›„๋กœ ํ‘œ์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์ฐธ๊ณ ๋กœ, Moment.js๋Š” ๋‚ ์งœ ๋ฐ ์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ๋ฅผ ์‰ฝ๊ฒŒ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. How to solve the problem ์ œ ๊ฒฝ์šฐ, ๋‚ ์งœ ๋ฐ์ดํ„ฐ๋ฅผ "์˜คํ›„ 10:00" ๋กœ ํ‘œ์‹œํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ "10:00 PM"์œผ๋กœ ๋‚˜์˜ค๋”๊ตฐ์š”. ๊ตฌ๊ธ€๋ง์„ ํ•ด๋ณธ ๊ฒฐ๊ณผ ๋‹ค์Œ์˜ ํ•ด๊ฒฐ์ฑ…์„ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค. ๋ฐ”๋กœ moment/local/ko ๋ฅผ ์ž„ํฌํŠธ ํ•ด์ฃผ๋Š” ๊ฒƒ! import 'moment/locale/ko' ์œ„ ์ฝ”๋“œ๋ฅผ ์ž„ํฌํŠธ ํ•ด์ค€ ์ดํ›„, ํ™”๋ฉด์„ ์‚ดํŽด๋ณด๋‹ˆ 10:00 PM ์ด ์•„๋‹Œ ์˜คํ›„ 10:00 ๋กœ ์ž˜ ํ‘œ์‹œ๊ฐ€ ๋˜๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

Framework/React 2023.01.10
๋ฐ˜์‘ํ˜•