๋ชฉ๋ก๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (62)

ram2 ๐Ÿš—

[flutter] ์ƒˆ๋กญ๊ฒŒ ๋ฐ”๋€ codelab (step5)

์ง€๋‚œ ์Šคํ…๊นŒ์ง€ ์ž˜ ๋”ฐ๋ผ์™”๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์™”์„ ๊ฒƒ์ด๋‹ค. ํ•˜์ง€๋งŒ ๋ชจ๋‘ ๋Š๋ผ๋“ฏ, ํ˜„์žฌ๋Š” ํŒจ๋”ฉ๋„ ๋งž์ง€ ์•Š๊ณ , ์šฐ๋ฆฌ๊ฐ€ ์ค‘์š”ํ•˜๊ฒŒ ๋ณด์—ฌ์ค˜์•ผ ํ•  ๋ฐ์ดํ„ฐ์ธ word๊ฐ€ ํ•œ ๋ˆˆ์— ๋“ค์–ด์˜ค์ง€ ์•Š๋Š”๋‹ค. ์šฐ๋ฆฌ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋Š๋ผ๊ธฐ์— ์กฐ๊ธˆ ๋” ์‰ฝ๊ฒŒ, ์›ํ•˜๋Š” ์ •๋ณด๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋„๋ก ํ•ด์•ผํ•œ๋‹ค. ๊ทธ๋ž˜์„œ ์ด๋ฒˆ ์Šคํ…์—์„œ๋Š” ์ด๋Ÿฌํ•œ ์‹œ๊ฐ์ ์ธ ์š”์†Œ(๋””์ž์ธ) ์— ์กฐ๊ธˆ ์‹ ๊ฒฝ์„ ์จ๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ์ฝ”๋“œ๋žฉ์—์„œ ์ œ์‹œํ•œ ๋‹ค์Œ ์šฐ๋ฆฌ์˜ ๋ชฉํ‘œ๋Š” ์ด ์ด๋ฏธ์ง€์™€ ๊ฐ™๋‹ค. Extract a widget ํ˜„์žฌ ์šฐ๋ฆฌ ์ฝ”๋“œ์—์„œ๋Š” word pair๋ฅผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋‚˜ํƒ€๋‚ด๊ณ  ์žˆ๋‹ค. Text(appState.current.asLowerCase) ์ด ์ฝ”๋“œ๋ฅผ ์กฐ๊ธˆ ๋” ๋ณต์žกํ•˜๊ฒŒ ๋ฐ”๊ฟ”๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ์ด ์ฝ”๋“œ๋ฅผ ๋ณ„๋„์˜ ์œ„์ ฏ์œผ๋กœ ๋นผ๋Š” ๊ฒƒ์ด ์ข‹๋‹ค๊ณ  ํ•œ๋‹ค. ์ด์ฒ˜๋Ÿผ UI์˜ ๊ฐ ์š”์†Œ์— ๋Œ€ํ•ด ๋ณ„๋„์˜ ..

๐Ÿ’ง flutter 2023. 2. 8. 20:30
[react] markdown editor, viewer ๊ตฌํ˜„ํ•˜๊ธฐ

๋ฆฌ์—‘ํŠธ.. js, html, css ์ด ์ค‘ ๊ทธ ์–ด๋Š ๊ฒƒ๋„ ๋ฐฐ์šด ์ , ์ ‘ํ•œ ์  ์—†์—ˆ์ง€๋งŒ... ๊ต‰์žฅํžˆ ์งง์€ ์‹œ๊ฐ„์— ๋ฆฌ์—‘ํŠธ๋ฅผ ๊ณต๋ถ€ํ•ด์•ผ๋งŒ ํ–ˆ๋‹ค. ์ฃผ์–ด์ง„ ์‹œ๊ฐ„์— js๋ถ€ํ„ฐ ๋ฐฐ์šฐ๊ณ , ์ฐจ๊ทผ์ฐจ๊ทผ ๊ฐ•์˜๋ฅผ ๋“ค์œผ๋ฉฐ ๊ณต๋ถ€ํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ.... ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜๊ณ , ์‹ค์ „์— ์‚ฌ์šฉํ•˜๊ธฐ์—๋Š” ์ž์‹ ๊ฐ๊ณผ ์ง€์‹์ด ํ„ฑ์—†์ด ๋ถ€์กฑํ–ˆ๋‹ค. ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ๋Œ์•„๋ณด๋ฉด ๊ฑฐ์˜ ์‹ค์ „์— ๋ถ€๋”ชํžˆ๋ฉฐ ๋ฐฐ์› ๋˜ ๊ฒƒ ๊ฐ™๋‹ค. ๊ทธ ์ค‘ ๋ฆฌ์—‘ํŠธ๋กœ ๋งˆํฌ๋‹ค์šด ์—๋””ํ„ฐ์™€ ๋ทฐ์–ด ๊ตฌํ˜„ํ•˜๋Š” ๋ถ€๋ถ„์„ ์ •๋ฆฌํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ๋„ˆ๋ฌด๋‚˜ ๋‹คํ–‰ํžˆ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ํฌ์ŠคํŒ…์„ ํ•ด๋‘์—ˆ๊ณ , ๋„ˆ๋ฌด๋‚˜ ํŽธ๋ฆฌํ•œ ํŒจํ‚ค์ง€๊ฐ€ ์žˆ์—ˆ๊ธฐ์— ์•„์ฃผ ์‰ฝ๊ณ  ๊ฐ„๋‹จํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๋ฌผ๋ก  ๋ทฐ์–ด๋ฅผ ํ•˜๋Š” ๊ฒƒ์— ์žˆ์–ด ์•„์ฃผ ์˜ค๋žœ ์‹œ๊ฐ„ ์‚ฝ์งˆ์„ ํ–ˆ๋‹ค๋Š” ๊ฒƒ...์€ ์žŠ์ง€ ๋ชปํ•  ๊ฒƒ ๊ฐ™๋‹ค...ํ•˜ํ•˜ 1. install npm i @uiw/react-md-edito..

๐Ÿ–ฅ๏ธ react 2023. 1. 29. 19:34
[react] useEffect()

state props . . ํŠน์ • ์ฝ”๋“œ๋“ค์ด ์ฒซ ๋ฒˆ์งธ component render์—์„œ๋งŒ ์‹คํ–‰๋˜๊ฒŒ ํ•˜์ž. ์ฒ˜์Œ ํ•œ ๋ฒˆ๋งŒ..!! ๋‚˜์ค‘์—๋Š” ์ƒํƒœ๊ฐ€ ๋ณ€ํ•ด๋„ ์‹คํ–‰๋˜์ง€ ์•Š๋„๋ก. ์šฐ๋ฆฌ๊ฐ€ state๋ฅผ ๋ณ€๊ฒฝํ•  ๋•Œ ๋ชจ๋“  code๊ฐ€ ๋‹ค์‹œ ์‹คํ–‰๋œ๋‹ค. ํ•˜์ง€๋งŒ ๊ทธ๋Ÿด ํ•„์š”๊ฐ€ ์—†์„ ๊ฒฝ์šฐ!! ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ๊นŒ? useEffect๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ์ด useEffect๋Š” ๋‘ ๊ฐœ์˜ argument๋ฅผ ๊ฐ€์ง€๋Š”๋ฐ, ์ฒซ ๋ฒˆ์งธ๋Š” ์šฐ๋ฆฌ๊ฐ€ ๋”ฑ ํ•œ ๋ฒˆ๋งŒ ์‹คํ–‰ํ•˜๊ณ  ์‹ถ์€ ์ฝ”๋“œ์ด๋‹ค. ex) useEffect(function1, []) ๋‘๋ฒˆ์งธ๋Š” ... ๋งˆ๋ฒ•๊ฐ™๋‹ค....? ๊ฒฐ๊ตญ, useEffect์— ๋Œ€ํ•ด ๋ฐฐ์› ๋‹ค. ์ด ํ•จ์ˆ˜๋Š” ๊ณ„์† ์‹คํ–‰๋˜์ง€ ์•Š๋„๋ก ํ•˜๋Š” ๊ฒƒ. ํ•œ ๋ฒˆ๋งŒ ์‹คํ–‰ํ•ด๋„ ๋˜๋Š” ๊ฒƒ๋“ค์„ ๋‹ค๋ฃจ๋Š” ํ•จ์ˆ˜์ด๋‹ค. ๋‘ ๋ฒˆ์งธ argument๋Š”.. ์ด๋Ÿด ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. ํŠน์ •ํ•œ ๋ถ€๋ถ„์ด ๋ณ€..

๐Ÿ–ฅ๏ธ react 2022. 12. 27. 18:21
styled components

์ฒ˜์Œ์œผ๋กœ react๋ฅผ ๊ณต๋ถ€ํ•˜๊ณ  ๋‚˜์„œ css ์‚ฌ์šฉ์— ์ต์ˆ™์น˜ ์•Š๊ณ , ์•„์ง ํ๋ฆ„์„ ์ œ๋Œ€๋กœ ์žก์ง€ ๋ชปํ•œ ์ƒํƒœ์—์„œ ๊ฐœ๋ฐœ์— ์ฐธ์—ฌํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ์— component ์ด๋ฆ„์„ ์–ด๋–ป๊ฒŒ ์ •ํ•˜๋Š”์ง€๋„ ์ž˜ ์•Œ์ง€ ๋ชปํ•ด ํ˜ผ๋ž€์Šค๋Ÿฌ์› ๋‹ค. ์ผ๋‹จ ํ•ด๋ด์•ผํ•œ๋‹ค๋Š” ์ƒ๊ฐ, html, css, js ๋ชจ๋‘ ์ฒ˜์Œ ์‹œ์ž‘ํ•˜๋Š” ๋งŒํผ ๊ฒฐ๊ณผ๋ฌผ์ด ์žˆ์–ด์•ผ ํ•œ๋‹ค๋Š” ์ƒ๊ฐ์— ์ผ๋‹จ ๋›ฐ์–ด๋“ค์—ˆ๋‹ค. ๊ทธ ๊ฒฐ๊ณผ ๋‚˜๋กœ ์ธํ•ด style ๊ฐ„์„ญ์ด ์ผ์–ด๋‚˜๋ฒ„๋ ธ๋‹ค... ๊ฒฐ๊ตญ ๋‚˜๋Š” ์ž ์‹œ ํ”„๋กœ์ ํŠธ์— ์†์„ ๋–ผ๊ฒŒ ๋˜์—ˆ์ง€๋งŒ ์ด๋ฒˆ ์ผ์„ ํ†ตํ•ด style ๊ฐ„์„ญ์ด ๋ฌด์—‡์ธ์ง€ ํ™•์‹คํ•˜๊ฒŒ ์•Œ๊ฒŒ ๋˜์—ˆ๊ณ , ๋‹ค์‹œ๋Š” ๊ฐ™์€ ์‹ค์ˆ˜๋ฅผ ๋ฐ˜๋ณตํ•˜์ง€ ์•Š๊ฒ ๋‹ค๋Š” ๋‹ค์ง์„ ํ–ˆ๋‹ค. ๊ณต์œ  ๋ฐ›์€ styled components์— ๋Œ€ํ•œ ๊ธ€์„ ๊ณต๋ถ€ํ•˜๊ณ , ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ด๋‹ค. styled components์˜ ํ•„์š”์„ฑ ์ค‘๋ณต๋œ ํด๋ž˜์Šค๋ช…์„ ๋งŒ๋“ค๊ฒŒ ๋˜๋ฉด, ๋‹ค..

๐Ÿ–ฅ๏ธ react 2022. 12. 27. 07:45