๋ฐ˜์‘ํ˜•

MUI 6

[React] MUI Popover, Menu ์†์„ฑ 'anchorEl' ๋ž€ ๋ฌด์—‡์ด๋ฉฐ ์‚ฌ์šฉ ์ด์œ 

Intro์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ์‹œ๊ฐ„์—๋Š” React MUI์—์„œ anchorEl ๋ž€ ๋ฌด์—‡์ด๋ฉฐ ์‚ฌ์šฉ ์ด์œ ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.  anchorEl ?Material-UI (MUI)์—์„œ ํŒ์˜ค๋ฒ„(Popover)๋‚˜ ๋ฉ”๋‰ด(Menu)์™€ ๊ฐ™์€ ์ปดํฌ๋„ŒํŠธ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์†์„ฑ์œผ๋กœ, ํŒ์—…์˜ ์œ„์น˜๋ฅผ ์ง€์ •ํ•˜๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ์ด ์†์„ฑ์€ ํŒ์—…์ด ์—ด๋ฆด ์œ„์น˜์˜ ๊ธฐ์ค€์ด ๋˜๋Š” ์š”์†Œ(Element)๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์ฃผ์š” ์ปดํฌ๋„ŒํŠธ์—์„œ์˜ anchorEl ์‚ฌ์šฉ1. PopoverPopover ์ปดํฌ๋„ŒํŠธ๋Š” ๊ธฐ์ค€ ์š”์†Œ์ธ anchorEl์˜ ์œ„์น˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ™”๋ฉด์— ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. The content of the Popover. 2. MenuMenu ์ปดํฌ๋„ŒํŠธ๋Š” ์ฃผ๋กœ ๋„ค๋น„๊ฒŒ์ด์…˜ ๋˜๋Š” ๋“œ๋กญ๋‹ค์šด ๋ฉ”๋‰ด๋ฅผ ๋งŒ๋“ค ๋•Œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. anchorEl์„ ํ†ตํ•ด ๋ฉ”๋‰ด๊ฐ€ ๋‚˜ํƒ€๋‚  ์œ„์น˜๋ฅผ ์ง€์ •..

Framework/React 2024.09.04

[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

[Material UI] Typography variant ์ปค์Šคํ…€ ํ•˜๋Š” ๋ฐฉ๋ฒ•

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” MUI Typography Component ์—์„œ variant ์†์„ฑ์„ ์ปค์Šคํ…€ ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. MUI Typography variant Typography ์˜ ๊ธฐ๋ณธ variant ์†์„ฑ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. h1, h2, h3, h4, h5, h6, subtitle1, subtitle2, body1, body2 ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์™ธ์—๋„ ์ง์ ‘ ์ปค์Šคํ…€ํ•˜์—ฌ variant๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ์„ ๋•Œ๊ฐ€ ์žˆ์„ ๊ฒ๋‹ˆ๋‹ค. const theme = createTheme({ components: { MuiTypography: { defaultProps: { variantMapping: { h1: 'h2', h2: 'h2', h3: 'h2', h4: 'h2', h5: 'h2', ..

Framework/React 2023.07.10

[React] Material-UI (mui) theme.spacing(1) ๋‹จ์œ„ ์˜๋ฏธ + ํ”ฝ์…€

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ์— MUI ๊ธฐ๋ฐ˜ ํšŒ์‚ฌ ํ™ˆํŽ˜์ด์ง€ ๊ฐœ๋ฐœ ์—…๋ฌด๋ฅผ ์ง€์›ํ•˜์—ฌ ๋งก๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. mui ๋ฅผ ์‚ฌ์šฉํ•˜๋‹ค๋ณด๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ๋งŽ์ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. theme.spacing(1) ์ฒ˜์Œ์—๋Š” 2px์ธ๊ฐ€ ์‹ถ์—ˆ๋Š”๋ฐ, 2px์ด ์•„๋‹ˆ๋”๋ผ๊ณ ์š”. theme.spacing(2) ์˜๋ฏธ Material-UI (mui) ์—์„œ 1์€ theme.spacing(1)๊ณผ ๊ฐ™์€ ์˜๋ฏธ๋ฅผ ๊ฐ–์Šต๋‹ˆ๋‹ค. ๋ณดํ†ต theme.spacing()์€ ํ…Œ๋งˆ ์„ค์ •์— ๋”ฐ๋ผ ๋‹ค๋ฅด์ง€๋งŒ, ๊ธฐ๋ณธ์ ์œผ๋กœ 8px์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. 1์€ ๊ธฐ๋ณธ์ ์œผ๋กœ 8px์„ ๋‚˜ํƒ€๋‚ด๋ฉฐ, 2๋Š” 16px, 3์€ 24px, ... ์™€ ๊ฐ™์ด 8px ๊ฐ„๊ฒฉ์œผ๋กœ ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ํ”ฝ์…€ ์ปค์Šคํ…€์ด ๋ถˆ๊ฐ€๋Šฅํ•œ๊ฐ€? ์ปค์Šคํ…€๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. createTheme() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค...

Framework/React 2023.05.08

[Next.js] Next์˜ Link์™€ MUI(Material-UI)์˜ Link ์ฐจ์ด

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ์‹œ๊ฐ„์—๋Š” Next์˜ Link์™€ MUI(Material-UI)์˜ Link ์ฐจ์ด์ ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. Next์˜ Link์™€ MUI(Material-UI)์˜ Link Next.js + React + MUI ์กฐํ•ฉ์œผ๋กœ ๊ฐœ๋ฐœ๊ฒฝํ—˜์ด ์žˆ์œผ์‹  ๋ถ„๋“ค์ด ๊ฝค ์žˆ์œผ์‹ค ํ…๋ฐ์š”, ๊ฐœ๋ฐœํ•˜๋‹ค๋ณด๋ฉด Link ์ปดํฌ๋„ŒํŠธ๋ฅผ ๊ฑฐ์˜ ํ•„์ˆ˜๋กœ ์‚ฌ์šฉํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. Next.js์™€ MUI ์—๋Š” ๊ณตํ†ต์œผ๋กœ Link ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋“ค์–ด์žˆ์Šต๋‹ˆ๋‹ค. ๋ณดํ†ต ์ž๋™ IDE ํˆด์„ ์‚ฌ์šฉํ•˜๋ฉด ์ž๋™์œผ๋กœ import ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์€๋ฐ์š”, ๊ผญ ํ™•์ธํ•˜๊ณ  import๋ฅผ ํ•˜์…”์•ผ ํ•ฉ๋‹ˆ๋‹ค. Next.js์˜ Link์™€ MUI(Material-UI)์˜ Link๋Š” ๋ชฉ์ ์ด ๋‹ค๋ฅธ ์š”์†Œ์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. Why? Next.js์˜ Link ์ปดํฌ๋„ŒํŠธ Next.js์˜ Link ๋Š”..

Framework/Next.js 2023.05.03
๋ฐ˜์‘ํ˜•