๋ฐ˜์‘ํ˜•

๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ 295

[React] Warning: Failed prop type: Invalid prop checked of type string supplied to ..., expected boolean. Warning ๋ฐœ์ƒ ๋ฐ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

Intro์•ˆ๋…•ํ•˜์„ธ์š”. react ์‚ฌ์šฉ ์ค‘ ๋‹ค์Œ์˜ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜์˜€์Šต๋‹ˆ๋‹ค. Warning: Failed prop type: Invalid prop checked of type string supplied to ..., expected boolean.  Why?const MemoizedCheckbox: React.FC = React.memo(({ checked, onChange, value }) => { return })... } label={data} labelPlacement='end' /> ์˜ค๋ฅ˜์˜ ์›์ธ์€ MemoizedCheckbox ์ปดํฌ๋„ŒํŠธ์˜ checked prop์— ๋ฌธ์ž์—ด ํƒ€์ž…์ด ์ „๋‹ฌ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. checked prop์€ boolean ํƒ€์ž…์„ ๊ธฐ๋Œ€ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ๋ฌธ์ž์—ด์ด ์ „..

Framework/React 2024.07.15

[React] react-datepicker ์—๋Ÿฌ date-fns๏ปฟ SyntaxError: Unexpected token 'export' ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

Intro์•ˆ๋…•ํ•˜์„ธ์š”. react-datepicker ๋ฅผ ์‚ฌ์šฉํ•˜๋˜ ๋„์ค‘ ์•„๋ž˜์™€ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์˜€์Šต๋‹ˆ๋‹ค. SyntaxError: Unexpected token 'export' How to solve the problem date-fns ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์•„๋ž˜์™€ ๊ฐ™์ด ko (ํ•œ๊ตญ์–ด)๋ฅผ import ํ•˜์—ฌ ์‚ฌ์šฉํ•˜๊ณ ์ž ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด ๋ถ€๋ถ„์—์„œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋”๋ผ๊ณ ์š”~ import { ko } from 'date-fns/esm/locale' ๊ทธ๋ž˜์„œ ์ด ๋ถ€๋ถ„์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ฐ”๊ฟ”์คฌ๋”๋‹ˆ ๋” ์ด์ƒ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ํ˜น์‹œ ์ €์™€ ๊ฐ™์€ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๋ถ„๋“ค์ด ์žˆ์œผ์‹œ๋‹ค๋ฉด ์ด ๋ฐฉ๋ฒ•์„ ํ™œ์šฉํ•ด๋ณด์„ธ์š” :)import { ko } from 'date-fns/locale'https://github.com/date-fns/date..

Framework/React 2024.07.11

[React] react-datepicker ์–ธ์–ด ๋ฐ”๊พธ๊ธฐ (ํ•œ๊ตญ์–ด๋กœ ๋ณ€๊ฒฝํ•˜๋Š” ๋ฐฉ๋ฒ•)

Intro์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” react-datepicker ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ์–ธ์–ด๋ฅผ ๋ฐ”๊พธ๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์ฐธ๊ณ ๋กœ react-datepicker ๋Š” react์—์„œ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ๋‹ฌ๋ ฅ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค.  How to Change lang ๊ฐ€์žฅ ๋จผ์ € date-fns๋ฅผ ์„ค์น˜ํ•ด์ค๋‹ˆ๋‹ค. npm์„ ์‚ฌ์šฉํ•˜์‹ ๋‹ค๋ฉด npm์„ ์ด์šฉํ•ด์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค. yarn add date-fns  ์ดํ›„ ์‚ฌ์šฉํ•˜๊ณ ์ž ํ•˜๋Š” ์–ธ์–ด๋ฅผ import ํ•ด์ค๋‹ˆ๋‹ค. import { ko } from "date-fns/esm/locale"; } />  local={ko}๋ฅผ ์ ์šฉํ•œ ๊ฒฐ๊ณผ ์•„๋ž˜์™€ ๊ฐ™์ด ์บ˜๋ฆฐ๋” ์–ธ์–ด๊ฐ€ ํ•œ๊ตญ์–ด๋กœ ๋ณ€๊ฒฝ๋œ ๋ชจ์Šต์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Framework/React 2024.07.10

[Linux] ๋ฆฌ๋ˆ…์Šค tail ๋ช…๋ น์–ด ์‚ฌ์šฉ๋ฒ• (์‹ค์‹œ๊ฐ„ ๋กœ๊ทธ ๋ณด๋Š” ๋ฐฉ๋ฒ•)

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” ๋ฆฌ๋ˆ…์Šค tail ๋ช…๋ น์–ด ์‚ฌ์šฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค :)  How to use๋‹ค์Œ์€ ํ…Œ์ŠคํŠธ์šฉ json ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. {    "quiz": {        "sport": {            "q1": {                "question": "Which one is correct team name in NBA?",                "options": [                    "New York Bulls",                    "Los Angeles Kings",                    "Golden State Warriros",                    "Huston Rocket"     ..

[Linux] .zshrc ๋ณ€๊ฒฝ ํ›„ ๋ณ€๊ฒฝ์‚ฌํ•ญ ๋ฐ”๋กœ ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. zsh์˜ .zshrc ๋ณ€๊ฒฝ ํ›„ ๋ฐ”๋กœ ์ ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. How to apply๋ณดํ†ต ์•„๋ž˜์˜ ๋ช…๋ น์–ด vi/vim ์„ ํ†ตํ•ด ํŒŒ์ผ์„ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค. ์ˆ˜์ •ํ›„ wq ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ์ €์žฅํ•ด์ค๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๋•Œ ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ๋ฐ”๋กœ ์ €์žฅ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. โžœ ~ vi .zshrc  source ํ‚ค์›Œ๋“œ๋ฅผ ํ†ตํ•ด ํ•ด๋‹น ํŒŒ์ผ์„ ํ•œ๋ฒˆ ๋” ์ž…๋ ฅํ•ด์ค˜์•ผ ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ๋ฐ”๋กœ ์ €์žฅ๋˜์–ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค :)โžœ ~ source ~/.zshrc

[React] window scroll event handler ์ด๋ฒคํŠธ๊ฐ€ ์•ˆ๋จนํž ๋•Œ, scrollY always 0

Intro์•ˆ๋…•ํ•˜์„ธ์š”. React์—์„œ window.scroll ์ด๋ฒคํŠธ๊ฐ€ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š์€ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์•„๋ฌด๋ฆฌ window.scrollY ๊ฐ’์„ ๊ตฌํ•ด๋„ 0์œผ๋กœ ๋‚˜์˜ค๋”๋ผ๊ณ ์š”.   ์ฝ”๋“œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. // stateconst [scrollTop, setScrollTop] = useState(0), headerRef = useRef(null), headerHeight = headerRef?.current?.clientHeight ?? 0, // useEffectuseEffect(() => { const handleScroll = () => { setScrollTop(window.scrollY); }; handleScroll(); window.ad..

Framework/React 2024.05.25

[Html] select element ์—์„œ dropdown icon ๋ฐ”๊พธ๋Š” ๋ฐฉ๋ฒ•

Intro์•ˆ๋…•ํ•˜์„ธ์š”. select element ์—์„œ dropdown icon ๋ฐ”๊พธ๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค :)  How to solve problem Option 1 Option 2 Option 3/* Hide the default dropdown arrow */.custom-select { appearance: none; /* For Firefox */ -webkit-appearance: none; /* For Chrome, Safari, Opera */ -moz-appearance: none; /* For Firefox */ background-image: url('custom-dropdown-icon.png'); /* Custom arrow icon */ backgrou..

Programming/Html 2024.04.23

[React] useForm ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ž€?

Intro์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” React useForm ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๋Œ€ํ•ด ๊ฐ„๋‹จํžˆ ์ •๋ฆฌํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. React mui ํ…œํ”Œ๋ฆฟ์„ ์‚ดํŽด๋ณด๋˜ ๋„์ค‘ useForm ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ถ€๋ถ„์„ ์ฒ˜์Œ ๋ฐœ๊ฒฌํ–ˆ๊ฑฐ๋“ ์š”! :)  UseForm?useForm์€ React์—์„œ Form ๊ด€๋ฆฌ๋ฅผ ๊ฐ„ํŽธํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. React Hooks๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค. useForm์„ ์‚ฌ์šฉํ•˜๋ฉด ์ƒํƒœ ๊ด€๋ฆฌ์™€ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ๋“ฑ์˜ ๋ณต์žกํ•œ ํผ ๊ด€๋ จ ์ž‘์—…์„ ๊ฐ„์†Œํ™”ํ•  ์ˆ˜ ์žˆ์–ด ๊ฐœ๋ฐœ์ž๋“ค์ด ํผ์„ ๋” ๋น ๋ฅด๊ณ  ์‰ฝ๊ฒŒ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๊ฐœ๋ฐœ ์ƒ์‚ฐ์„ฑ์„ ๋†’์ด๊ณ  ์ฝ”๋“œ์˜ ์œ ์ง€๋ณด์ˆ˜์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค. UseForm's functionForm ์ƒํƒœ ๊ด€๋ฆฌ : useForm ํ›…์„ ์‚ฌ์šฉํ•˜์—ฌ ํผ์˜ ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ..

Framework/React 2024.02.29

[React] Input elements should have autocomplete attributes (suggested: "current-password") Error ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

Intro์•ˆ๋…•ํ•˜์„ธ์š”. React์—์„œ MUI์˜ TextField๋ฅผ ์‚ฌ์šฉํ•˜๋˜ ๋„์ค‘ ์•„๋ž˜์™€ ๊ฐ™์€ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜์˜€์Šต๋‹ˆ๋‹ค.   Input elements should have autocomplete attributes (suggested: "current-password")   How to solve problemํ•ด๋‹น ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ ์ด์œ ๋Š” autocomplete ์†์„ฑ์„ ๋ช…์‹œํ•˜์ง€ ์•Š์•„์„œ์ž…๋‹ˆ๋‹ค.  autoComplete ์†์„ฑ์ด๋ž€  ํผ ํ•„๋“œ์— ๋ธŒ๋ผ์šฐ์ €์˜ ์ž๋™ ์™„์„ฑ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ• ์ง€ ์—ฌ๋ถ€๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ๋ธŒ๋ผ์šฐ์ €๋Š” ์ข…์ข… ์‚ฌ์šฉ์ž๊ฐ€ ์ด์ „์— ์ž…๋ ฅํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ์–ตํ•˜๊ณ , ์œ ์‚ฌํ•œ ์ž…๋ ฅ ํ•„๋“œ๊ฐ€ ๋‚˜ํƒ€๋‚  ๋•Œ ์ด๋ฅผ ์ž๋™์œผ๋กœ ์™„์„ฑํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์‚ฌ์šฉ์ž๊ฐ€ ์ด์ „์— ์ž…๋ ฅํ•œ ์ด๋ฉ”์ผ ์ฃผ์†Œ๋‚˜ ์‚ฌ์šฉ์ž ์ด๋ฆ„์„ ๊ธฐ์–ตํ•˜์—ฌ ๋‹ค์Œ์— ํ•ด๋‹น ํ•„๋“œ์— ๋‹ค์‹œ ์ž…๋ ฅํ• ..

Framework/React 2024.02.16

[Material UI] Dialog ์ปดํฌ๋„ŒํŠธ ํ™”์‚ดํ‘œ ํ‚ค (PgUp, PgDn) Internal scroll ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•

Intro์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” MUI Dialog Component ์—์„œ ํ™”์‚ดํ‘œ ํ‚ค (PgUp, PgDn) Internal scroll ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. Mui Dialog Component Open full-screen dialog Sound save  MUI Full Dialog ์˜ˆ์‹œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์œ„ ์ฝ”๋“œ ํ™œ์šฉ ์‹œ์— ๊ธฐ๋ณธ์ ์œผ๋กœ ํ™”์‚ดํ‘œ ๋ฐฉํ–ฅํ‚ค ์Šคํฌ๋กค์ด ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. PgUp, Pg..

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