Jieunny์˜ ๋ธ”๋กœ๊ทธ

[TS] ๋ฆฌ์•กํŠธ + ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ + Redux ๋ณธ๋ฌธ

Study/TypeScript

[TS] ๋ฆฌ์•กํŠธ + ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ + Redux

Jieunny 2023. 9. 14. 15:34

๐Ÿ“Œ  ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ

npx create-react-app ํ”„๋กœ์ ํŠธ๋ช… --template typescript

App.tsx๋กœ ํŒŒ์ผ์ด ์ƒ์„ฑ๋˜๋ฉด ์„ฑ๊ณต!

 

๐Ÿ“Œ  ๊ฐ„๋‹จํ•œ Counter ๋งŒ๋“ค๊ธฐ

๐Ÿ’ก useState๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ์•Œ์•„์„œ ํƒ€์ž…์„ ์œ ์ถ”ํ•ด์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ์ƒ๋žตํ•ด๋„ ์ƒ๊ด€์—†์ง€๋งŒ, ์ƒํƒœ๊ฐ€ null์ผ ์ˆ˜๋„ ์žˆ๊ณ  ์•„๋‹ ์ˆ˜๋„ ์žˆ์„ ๋•Œ๋Š” ์‚ฌ์šฉํ•ด์ฃผ๋Š” ๊ฒŒ ์ข‹๋‹ค.

 

๐Ÿ“Œ  Form ํ˜•์‹ ๊ตฌํ˜„ํ•˜๊ธฐ

๐Ÿ’ก e ํƒ€์ž…์„ ๋ชจ๋ฅผ ๋• onChange ๊ฐ™์ด props์— ๋งˆ์šฐ์Šค๋ฅผ ์˜ฌ๋ฆฌ๋ฉด ์•Œ ์ˆ˜ ์žˆ๋‹ค.

 

๐Ÿ“Œ  Redux + TypeScript๋กœ Counter ๊ตฌํ˜„ํ•˜๊ธฐ

1. redux ์„ค์น˜

npm install redux react-redux @types/react-redux

๐Ÿ’ก @types : ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ ์ง€์›์„ ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ถ”๊ฐ€๋œ ์จ๋“œํŒŒํ‹ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

 

2. counter ๋ชจ๋“ˆ ์ƒ์„ฑ

src/modules/counter.ts

 

3. ํ”„๋กœ์ ํŠธ์— ๋ฆฌ๋•์Šค ์ ์šฉํ•˜๊ธฐ

src/modules/index.ts

 

src/components/Counter.tsx

 

src/components/CounterContainer.tsx

'Study > TypeScript' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[TS] ์‹ค์ „์—์„œ ์‚ฌ์šฉํ•˜๋Š” ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ ๋ฌธ๋ฒ•  (0) 2023.11.02
[TS] TodoList CRUD  (0) 2023.10.17
[TS] Exercises5  (0) 2023.07.20
[TS] Exercises 4  (0) 2023.07.19
[TS] Exercises 1~3  (0) 2023.07.18