React

[TIL/React] 2023/10/06

Dropdown Box ๐ŸŸข App.js์—์„œ๋Š” 'Dropdown Example'์ด๋ผ๋Š” ์ œ๋ชฉ๊ณผ, Dropdown ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋ Œ๋”๋งํ•œ๋‹ค. ๋™์‹œ์— options๋ผ๋Š” ๋ฐฐ์—ด์ด ์ƒ๋‹จ์— ์„ ์–ธ๋˜์–ด ์žˆ๋Š”๋ฐ, ์ด๋ฅผ Dropdown ์ปดํฌ๋„ŒํŠธ์— props๋กœ ์ „๋‹ฌํ•˜๊ณ  ์žˆ์Œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. Dropdown.js์—์„œ๋Š” ์œ„ ๋‚ด์šฉ์„ returnํ•œ๋‹ค. 1) Dropdown But...

2023๋…„ 10์›” 6์ผ1min read

Dropdown Box ๐ŸŸข

App.js์—์„œ๋Š” 'Dropdown Example'์ด๋ผ๋Š” ์ œ๋ชฉ๊ณผ, Dropdown ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋ Œ๋”๋งํ•œ๋‹ค. ๋™์‹œ์— options๋ผ๋Š” ๋ฐฐ์—ด์ด ์ƒ๋‹จ์— ์„ ์–ธ๋˜์–ด ์žˆ๋Š”๋ฐ, ์ด๋ฅผ Dropdown ์ปดํฌ๋„ŒํŠธ์— props๋กœ ์ „๋‹ฌํ•˜๊ณ  ์žˆ์Œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

Dropdown.js์—์„œ๋Š” ์œ„ ๋‚ด์šฉ์„ returnํ•œ๋‹ค.

1) Dropdown Button

Dropdown Button์—์„œ๋Š” selectedOption์ด๋ผ๋Š” ์ƒํƒœ, ์ฆ‰ options ๋ฐฐ์—ด์˜ ํŠน์ • ์š”์†Œ๋ฅผ ๋ฒ„ํŠผ์˜ ํ˜•ํƒœ๋กœ ๋ณด์—ฌ์ค€๋‹ค. ๋‹จ ||(๋˜๋Š”)์—ฐ์‚ฐ์ž๋ฅผ ํ†ตํ•ด ์„ ํƒ๋œ option์ด ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ์—๋Š” "Select an option"์ด๋ผ๋Š” ๋ฌธ๊ตฌ๋ฅผ ๋ณด์—ฌ์ค€๋‹ค.

๋™์‹œ์— onClick์— setIsOpen์ด๋ผ๋Š” ์ƒํƒœ ์—…๋ฐ์ดํŠธ ํ•จ์ˆ˜๊ฐ€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋‹ค. isOpen์ด๋ผ๋Š” ์ƒํƒœ๋ฅผ true ๋˜๋Š” false๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ํ•˜์œ„ ์š”์†Œ์˜ ๋ Œ๋”๋ง์„ ์กฐ์ž‘ํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.

2) Dropdown List

Dropdown List๋Š” isOpen์ด๋ผ๋Š” ์ƒํƒœ์— ์˜ํ•ด ํ†ต์ œ๋œ๋‹ค. Dropdown Button์„ ํด๋ฆญํ•ด์„œ isOpen์ด true๋กœ ๋ณ€๊ฒฝ๋˜๋ฉด, styled component์— ์„ ์–ธ๋œ ๋Œ€๋กœ, ํ•˜์œ„ ์š”์†Œ(=Item)์„ block ๋‹จ์œ„๋กœ ๋ณด์—ฌ์ค€๋‹ค. ๋งŒ์•ฝ false๋ผ๋ฉด none์— ์˜ํ•ด ์•„๋ฌด ์š”์†Œ๋„ ๋ณด์ด์ง€ ์•Š์„ ๊ฒƒ์ด๋‹ค.

3) Dropdown Item

isOpen์ด true์ด๋ฉด block ๋‹จ์œ„๋กœ ๋ณด์—ฌ์ง€๋Š” Item์ด ๋ฐ”๋กœ ์œ„ ์ฝ”๋“œ์ด๋‹ค. ๋ฐฐ์—ด์˜ ์š”์†Œ์— ๋งž๋Š” ๋‚ด์šฉ์„ ๋ Œ๋”๋งํ•œ๋‹ค.

handleOptionClick ํ•จ์ˆ˜๊ฐ€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š”๋ฐ, ๋ฐฐ์—ด์˜ ์š”์†Œ ์ค‘ ์ผ๋ถ€๋ฅผ ์ธ์ž๋กœ ๋ฐ›์•„์„œ ๋ฒ„ํŠผ์— ๋ณด์—ฌ์งˆ selectedOption์˜ ์ƒํƒœ๋ฅผ ์ตœ์‹ ํ™”ํ•œ๋‹ค. ์ถ”๊ฐ€์ ์œผ๋กœ setIsOpenํ•จ์ˆ˜์— false๋ฅผ ์ „๋‹ฌํ•˜์—ฌ, ์˜ต์…˜ ์„ ํƒ ํ›„ Dropdown List๊ฐ€ ๊บผ์ง€๋„๋ก ํ•œ๋‹ค.

ํ™”๋ฉด ๐ŸŸข

More to read

AI

AI&ML ๊ธฐ์ดˆ

Reference: https://bettermesol.github.io/ml/2019/09/16/ai-ml-dl/AI: ๊ธฐ๊ณ„๊ฐ€ ์‚ฌ๋žŒ์ฒ˜๋Ÿผ ์ƒ๊ฐํ•˜๊ณ  ํŒ๋‹จํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฐ€์žฅ ๋„“์€ ๋ฒ”์ฃผ์˜ ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค.ML: ๋ฐ์ดํ„ฐ๋ฅผ ํ•™์Šตํ•˜์—ฌ ์Šค์Šค๋กœ ๊ทœ์น™์„ ์ฐพ์•„๋‚ด๋Š” AI์˜ ํ•œ ๋ถ„์•ผ๋กœ,

'AI Agent Economy'

Novitas : AI Agent๊ฐ€ ์ง€๊ฐ‘์„ ๊ฐ€์ง€๋Š” ์„ธ์ƒ

์–ผ๋งˆ ์ „, ๋ฏธ๋ž˜์—์…‹์ฆ๊ถŒ ๋ฆฌ์„œ์น˜ ๋ฆฌํฌํŠธ(์˜ฌํ•ด๋Š” ์ด๋”๋ฆฌ์›€์ด๋‹ค: ์—์ด์ „ํŠธ ์‹œ๋Œ€์˜ Near Automata)๋ฅผ ์ ‘ํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. AI Agent๋ฅผ ์ธ๊ฐ„๊ณผ ํ•จ๊ป˜ํ•  ๊ฒฝ์ œ ์ฃผ์ฒด๋กœ ๋ฐ”๋ผ๋ณด๋Š” ์‹œ๊ฐ์— ์ ์ž–์ด ์ถฉ๊ฒฉ์„ ๋ฐ›์•˜๋”๋žฌ์ฃ .ํ•œ ๊ฐ€์ง€ ์งš๊ณ  ๋„˜์–ด๊ฐˆ ๋ถ€๋ถ„์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ํ”ํžˆ 'AI'

'ERC-8004'

Novitas: AI ์—์ด์ „ํŠธ ๊ฒฝ์ œ ์ฃผ์ฒด

Web 4.0์„ ํ•œ ๋ฌธ์žฅ์œผ๋กœ ์ •์˜ํ•˜๋ฉด Sovereign Transact์ž…๋‹ˆ๋‹ค.AI๊ฐ€ ์ธ๊ฐ„์˜ ํ—ˆ๋ฝ ์—†์ด ์ง€๊ฐ‘์„ ์†Œ์œ ํ•˜๊ณ , ๊ฒฐ์ œ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉฐ, ์ธํ”„๋ผ๋ฅผ ํ†ต์ œํ•˜๋Š” ์ฃผ๊ถŒ์  ๊ฒฝ์ œ ์ฃผ์ฒด๊ฐ€ ๋˜๋Š” ์„ธ๊ณ„์ž…๋‹ˆ๋‹ค. Web 3.0์ด ๋ธ”๋ก์ฒด์ธ ๊ธฐ๋ฐ˜์˜ ํƒˆ์ค‘์•™ํ™”๋ฅผ ์‹คํ˜„ํ–ˆ๋‹ค๋ฉด, Web 4.0์€ ๊ทธ