Frontend ๊ฐœ๋ฐœ์ž - hyo.loui

(React) WIL - 12์ฃผ์ฐจ ํšŒ๊ณ  ๋ณธ๋ฌธ

WIL

(React) WIL - 12์ฃผ์ฐจ ํšŒ๊ณ 

hyo.loui 2023. 1. 21. 01:10

๐Ÿ“ WIL: Weekly I Learned

 


Work done this week

์ด๋ฒˆ ์ฃผ ๋๋‚ธ ์ผ!

  1. ํ‹ฐ์Šคํ† ๋ฆฌ ํฌ์ŠคํŒ… = ๋งค์ผ TIL ์ผ์ง€ (๋ชฉ์ , ์ •๋ฆฌ๋กœ ์„ธ๋ถ„ํ™”)
  2. Typescript ๊ฐ•์˜ ๋ฐ ์‹ค์Šต = Todo-List (๋ฆฌํŽ™ํ† ๋ง, cra-typescript)
  3. Project : Develife = ํ”„๋กœ์ ํŠธ ์‹œ์ž‘ ( ๊ธฐํš >> ์™€์ด์–ดํ”„๋ ˆ์ž„ >> ๋ ˆ์ด์•„์›ƒ(UI)

 


 

๐Ÿ“š Study review

 

typescript๋ฅผ ๋ฐฐ์šธ ๋•Œ๋Š” ์‰ฝ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค..

 

ํ•˜์ง€๋งŒ ๋ง‰์ƒ ์ ์šฉํ•˜๋ ค๊ณ  ํ•˜๋‹ˆ..

state, props ๋“ฑ ์ž‘์„ฑํ•ด์ค˜์•ผ ํ•  ํƒ€์ž…๋“ค์ด ์ƒ๊ฐ๋ณด๋‹ค ๋งŽ์•„์„œ

์‰ฝ์ง€์•Š์•˜๋‹ค.. ๋˜ํ•œ web API(onclick, onsubmit, onchange ๋“ฑ) ์‚ฌ์šฉ ํ•  ๋•Œ์—

ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์ „๋‹ฌํ•˜๋Š” ๋ฐ์ดํ„ฐ์—๋„ ํƒ€์ž…์„ ์ž‘์„ฑํ•ด์•ผํ•ด์„œ ๋‹นํ™ฉํ–ˆ๋‹ค.

 

ํ•˜์ง€๋งŒ ์—ฌ๋Ÿฌ ์ž๋ฃŒ๋ฅผ ์ฐพ์•„๋ณด๊ณ  ์œ ํŠœ๋ธŒ๋„ ์‹œ์ฒญํ•˜๋ฉด์„œ ์กฐ๊ธˆ์ด๋‚˜๋งˆ ๋”ฐ๋ผ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค.

 

์•„์‰ฌ์› ๋˜ ์ ์€ ๊ฐ•์˜๋‚ด์šฉ์€ ํƒ€์ž…์— ๋Œ€ํ•œ ๊ฐœ๋…๊ณผ ์ด๋ก ์ ์ธ ๋ถ€๋ถ„์ด ์ฃผ๋œ ๋‚ด์šฉ์ด์˜€๋Š”๋ฐ

๊ฐ‘์ž๊ธฐ ๋ฆฌํŽ™ํ† ๋ง ๊ณผ์ œ๊ฐ€ ์ฃผ์–ด์ ธ ๊ฐ๋„ ์˜ค์ง€ ์•Š์•˜๋‹ค..

 

์–ด์ฐŒ ์–ด์ฐŒ ์ฐพ๊ณ  ์ฐพ์•„์„œ ํ•ด๊ฒฐ์„ ํ–ˆ์ง€๋งŒ ์ดํ•ด๊ฐ€ ๋˜์ง€ ์•Š์•„์„œ

๋งˆ์Œ์ด ๋ฌด๊ฑฐ์› ๋‹ค.

 

๊ทธ๋ž˜์„œ ์œ ํŠœ๋ธŒ ์˜์ƒ์„ ๋ณด๋ฉด์„œ ํ”„๋กœ์ ํŠธ ํ•˜๋‚˜๋ฅผ ์ƒˆ๋กœ ๋งŒ๋“ค๋ฉด์„œ

๊ณผ์ •์„ ์ดํ•ดํ•ด๋ณด๊ธฐ๋กœ ํ–ˆ๋‹ค.

 

CRA๋ฅผ typescript๋กœ ์ƒ์„ฑํ•˜๊ณ ,

์ฒ˜์Œ์œผ๋กœ .tsx ํŒŒ์ผ์„ ๋‹ค๋ค˜๋‹ค.

 

์ฒ˜์Œ๋ถ€ํ„ฐ ์ž‘์„ฑ์„ ํ•ด๋ณด๋‹ˆ ์ฒœ์ฒœํžˆ ๋‚ด๊ฐ€ ๋ฐฐ์› ๋˜ ๋‚ด์šฉ๋“ค์„ ์กฐ๊ธˆ์”ฉ ์ ์šฉํ•ด ๊ฐˆ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

์บ ํ”„์—์„œ๋Š” ์ด๋Ÿฌํ•œ ๊ณผ์ •์ด ์—†๋‹ค๋ณด๋‹ˆ, ๊ฐ•์˜์™€ ๊ณผ์ œ์˜ ๊ฐ„๊ทน์ด ๋Š๊ปด์กŒ๋‹ค.

 

์—ฌ๋Ÿฌ๋ถ„๋„ ์ƒˆ๋กœ typescript CRA ๋ฅผ ํ•ด์„œ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋งŒ๋“ค์–ด๋ณด๊ธฐ๋ฅผ ์ถ”์ฒœํ•œ๋‹ค!

 

์ฐธ์กฐ ๋งํฌ!

 

Adding TypeScript | Create React App

Note: this feature is available with react-scripts@2.1.0 and higher.

create-react-app.dev

 


๐Ÿงฑ  Project Start

 

๋‚˜๋Š” ์ƒˆ๋กœ์šด 2์กฐ๊ฐ€ ๋˜์–ด ' ๊ฐœ๋ฐœ2 ํ•˜๊ณ  ์‹ถ์กฐ'๊ฐ€ ๋˜์—ˆ๊ณ ,

ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•œ ๋ฐœ์ œ๊ฐ€ ๋๋‚œ ํ›„

 

์ฒซ ํ”„๋กœ์ ํŠธ ํšŒ์˜๋ฅผ ํ–ˆ๋‹ค.

 

๋‚ด์šฉ์œผ๋กœ๋Š”

  • ํ”„๋กœ์ ํŠธ ์ ์šฉ ์Šคํƒ = [๊นƒํ—ˆ๋ธŒ, ๋ฆฌ์•กํŠธ, react-query, axios, typescript, Firebase(DB), emotion]
  • ๊ณผ์ œ๊ด€๋ฆฌ = ๊นƒํ—ˆ๋ธŒ ํ”„๋กœ์ ํŠธ, ์ด์Šˆ
  • ๊ทธ๋ผ์šด๋“œ ๋ฃฐ (9์‹œ, 17์‹œ ํšŒ์˜)
  • ์ปจ์…‰

์ •๋„๋ฅผ ๊ธฐํšํ–ˆ๊ณ , ๋ฐ”๋กœ figma web์„ ์ด์šฉํ•ด ํ•จ๊ป˜ ์™€์ด์–ดํ”„๋ ˆ์ž„์„ ์ œ์ž‘ํ•˜๊ณ ,

์˜ค๋Š˜์€ ๊ฐ ์ปดํฌ๋„ŒํŠธ์—์„œ ๋ ˆ์ด์•„์›ƒ ์ž‘์—…์„ ํ•˜๊ธฐ๋กœ ํ•˜์—ฌ ๋ชจ๋‘ ์ž‘์—…์„ ์ž˜ ๋งˆ์ณค๋‹ค.

 

๊ณ„ํš์ ์ด๊ณ  ์ฑ…์ž„๊ฐ ์žˆ๋Š” ํŒ€์žฅ๋‹˜์„ ๋งŒ๋‚˜

์›ํ™œํ•˜๊ฒŒ ํ”„๋กœ์ ํŠธ๊ฐ€ ์ง„ํ–‰๋˜์—ˆ๋‹ค.

 

๋‚ด ์—ญํ• ๋กœ๋Š”

๋ฉ”์ธ์ด ๋˜๋Š” ํŽ˜์ด์ง€์—์„œ Youtube API๋ฅผ ํ™œ์šฉํ•ด

react-query๋ฅผ ์ ์šฉํ•ด์„œ ์„œ๋ฒ„ํ†ต์‹  ์ž‘์—…์„ ํ•˜๊ณ ,

๊ฐ€์ ธ์˜จ ๋ฐ์ดํ„ฐ๋ฅผ ํŽ˜์ด์ง€๋ณ„ ์นดํ…Œ๊ณ ๋ฆฌ์— ๋งž๊ฒŒ ๋ณด์—ฌ์ฃผ๋Š” ์—ญํ• ์ด์˜€๋‹ค.

 

๐Ÿ˜ฅ ์ฒ˜์Œ ๋‹ค๋ค„๋ณด๋Š” youtube API๋ผ์„œ ์ƒ์†Œํ•œ ๋ถ€๋ถ„์ด ๋งŽ์•˜๊ณ ,

์ฃผ๋ง์„ ์ด์šฉํ•ด api ๋ฉ”์†Œ๋“œ๋ฅผ ์–ด๋–ป๊ฒŒ ํ™œ์šฉํ•ด์•ผ ํ•  ์ง€ ์ž˜ ์ƒ๊ฐํ•ด์•ผ๊ฒ ๋‹ค.

 

ํ”„๋กœ์ ํŠธ ๋‚ด์—์„œ ์•ž์œผ๋กœ ์ง„ํ–‰ ํ•  ์ž‘์—… ๋‚ด์šฉ์€

  1. ๋ฆฌ์•กํŠธ ์ฟผ๋ฆฌ ์„ธํŒ…(youtube url)
  2. ์„œ๋ฒ„ ์š”์ฒญ ๋ฉ”์†Œ๋“œ ์ฝ”๋“œ์ž‘์„ฑ
  3. ๋ฐ›์•„์˜จ ๋ฐ์ดํ„ฐ ์ค‘ '์ธ๋„ค์ผ์ด๋ฏธ์ง€ url'์„ ๋ฐฐ์—ด ๋ฉ”์„œ๋“œ ํ™œ์šฉํ•ด์„œ ๋ณด์—ฌ์ฃผ๊ธฐ
  4. ์ธ๋„ค์ผ์ด๋ฏธ์ง€ ํด๋ฆญ >> ๋ผ์šฐํ„ฐ๋” ํ™œ์šฉ '์ƒ์„ธํŽ˜์ด์ง€' ์ด๋™
  5. ์ƒ์„ธํŽ˜์ด์ง€๋กœ ์ด๋™ํ•  ๋•Œ id๊ฐ’ ์ „๋‹ฌํ•˜๊ธฐ

 


p.s

 

์บ ํ”„์˜ ์ตœ์ข… ํ”„๋กœ์ ํŠธ์˜ ์ด์ „ ํ”„๋กœ์ ํŠธ์—ฌ์„œ ๊ทธ๋Ÿฐ์ง€

๋ถ„์œ„๊ธฐ๊ฐ€ ๋‹ค์†Œ ๋‹ค๋ฅด๋‹ค๊ณ  ๋Š๊ผˆ๋‹ค

 

์ „ํ•ด ๋“ฃ๊ธฐ๋กœ๋Š”

ํ”„๋กœ์ ํŠธ ์ง„ํ–‰์„ ์•ˆํ•˜๊ณ  ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ๋กœ ์ „ํ–ฅํ•˜๋Š” ์ˆ˜๊ฐ•์ƒ๋„ ์žˆ์—ˆ๊ณ ,

๋‹ค๋ฅธ ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ์ˆ˜๊ฐ•์ƒ๋„ ์žˆ์—ˆ๋‹ค.

 

๊ทธ์น˜๋งŒ,

์šฐ๋ฆฌ์กฐ๋Š” ์กฐ์›๋ถ„๋“ค์ด ํ•™์Šต์— ์—ด์˜๊ฐ€ ์žˆ์–ด์„œ ์ฐธ ๋‹คํ–‰์Šค๋Ÿฝ๊ณ  ์•ˆ์‹ฌ์ด ๋˜์—ˆ๋‹ค.

๋˜ ํ•œ๋ถ„๋„ ๊ทธ๋Ÿฐ ๋ถ„๋“ค์ด ์—†์–ด์„œ ๊ธฐ๋ปค๋‹ค..ใ…‹ใ…‹ใ…‹ใ…‹

 

 

๋‹ค๋“ค ํž˜๋“ค๊ณ  ์ง€์น˜๊ฒ ์ง€๋งŒ

 

์ด ๋˜ํ•œ ์ง€๋‚˜๊ฐ€๋ฆฌ

 

์–ผ๋งˆ ์•ˆ๋‚จ์•˜๋‹ค!! 

๐Ÿฆพ ๋น ์ดํŒ…๊ทธ.

 


 

2023๋…„ 1์›” 1 week 2 week 3 week 4 week (project)
ํ•™์Šต ๋‚ด์šฉ
(ํ”„๋กœ์ ํŠธ)
RN ์‹ฌํ™” ๊ฐ•์˜ ์ˆ˜๊ฐ•์ค‘
(react-query, firebase ์—ฐ๋™ ๋“ฑ)


ํ”„๋กœ์ ํŠธ(MZL) ์ง„ํ–‰์ค‘
RN ํ”„๋กœ์ ํŠธ
'์™•์ดˆ๋ณด mz ์™„์„ฑ: mz-language'
๋ฐฐํฌ >> ๋ฐœํ‘œ
ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ(์ˆ˜๊ฐ• > ๊ณผ์ œ > ๋ณต์Šต),

TS ํ”„๋กœ์ ํŠธ 'Develife'( ๊ธฐํš >> ์™€์ด์–ดํ”„๋ ˆ์ž„ >> ๋ ˆ์ด์•„์›ƒ(UI)
                                            
์‚ฌ์šฉ ํˆด
defalut : VS code
npm, RN, expo, react-query, github npm, RN, expo, react-query, github react-query, axios, typescript, Firebase(DB), emotion