๊ฐœ๋ฐœ ๊ณต๋ถ€/๋ฐ๋ธŒ์ฝ”์Šค TIL

[ํด๋ผ์šฐ๋”ฉ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์—”์ง€๋‹ˆ์–ด๋ง TIL] 240215 - React ์‹ค์ „ ํ”„๋กœ์ ํŠธ 3

๊ฐ€์šค์ด 2024. 2. 15. 23:03

Intro


์–ด์ œ์— ์ด์–ด ํ”„๋กœ์ ํŠธ ๊ธฐ์ดˆ ๊ณต์‚ฌ๋ฅผ ๋งˆ๋ฌด๋ฆฌํ•˜๊ณ  ํ™ˆ ํ™”๋ฉด์„ ๊ตฌํ˜„ํ•˜๋Š” ์‹ค์Šต์„ ๋”ฐ๋ผํ•ด ๋ณด์•˜๋‹ค.

 

 

 

์˜ค๋Š˜ ํ•™์Šตํ•œ ๋‚ด์šฉ

: ํ”„๋กœ์ ํŠธ ๊ธฐ์ดˆ ๊ณต์‚ฌ, ํ”„๋กœ์ ํŠธ ํ™ˆ ํ™”๋ฉด ๊ตฌํ˜„


ํ”„๋กœ์ ํŠธ ๊ธฐ์ดˆ ๊ณต์‚ฌ - 2

  1. ์ƒํƒœ ๊ด€๋ฆฌ ์„ธํŒ…ํ•˜๊ธฐ
  2. ํ”„๋กœ์ ํŠธ State Context ์„ธํŒ…ํ•˜๊ธฐ
  3. ํ”„๋กœ์ ํŠธ Dispatch Context ์„ธํŒ…ํ•˜๊ธฐ

์ƒํƒœ ๊ด€๋ฆฌ ์„ธํŒ…ํ•˜๊ธฐ

" ํ”„๋กœ์ ํŠธ์—์„œ ์ „๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ๋  ๋ฐ์ดํ„ฐ State ๊ด€๋ฆฌ ๋กœ์ง ์ž‘์„ฑํ•˜๊ธฐ "

 

์ผ๊ธฐ ํ”„๋กœ์ ํŠธ์—์„œ, Home์€ ์ผ๊ธฐ ๋ฆฌ์ŠคํŠธ, New ํŽ˜์ด์ง€์—์„  ์ผ๊ธฐ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋กœ์ง, Edit ํŽ˜์ด์ง€์—์„  ์ผ๊ธฐ๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ๋กœ์ง, Diary ํŽ˜์ด์ง€์—” ์ผ๊ธฐ ๋ฐ์ดํ„ฐ ํ•˜๋‚˜๊ฐ€ ํ•„์š”ํ•˜๋‹ค.

โžก๏ธ useReducer ์‚ฌ์šฉ

const [data, dispatch] = useReducer(reducer, dummyData);

 

ํ”„๋กœ์ ํŠธ State Context ์„ธํŒ…ํ•˜๊ธฐ

" ๋ฐ์ดํ„ฐ State๋ฅผ ๊ณต๊ธ‰ํ•  Context๋ฅผ ์ƒ์„ฑํ•˜๊ณ  Provider๋กœ ๊ณต๊ธ‰ํ•˜๊ธฐ "

 

 

ํ”„๋กœ์ ํŠธ Dispatch Context ์„ธํŒ…ํ•˜๊ธฐ

" ์ผ๊ธฐ ๋ฐ์ดํ„ฐ State์˜ Dispatch ํ•จ์ˆ˜๋“ค์„ ๊ณต๊ธ‰ํ•  Context๋ฅผ ์ƒ์„ฑํ•˜๊ณ  Provider๋กœ ๊ณต๊ธ‰ํ•˜๊ธฐ "

 

 

 

 


ํŽ˜์ด์ง€ ๊ตฌํ˜„ - ํ™ˆ(/)

  • ํ•ด๋‹น ์›”์˜ ๊ธฐ๊ฐ„ ๊ตฌํ•˜๊ธฐ ex) 1/1 ~ 1/31
// ํ•ด๋‹น ์›”์˜ ์ฒซ ๋‚ 
const firstDay = new Date(curDate.getFullYear(), curDate.getMonth(), 1).getTime();

// ํ•ด๋‹น ์›”์˜ ๋งˆ์ง€๋ง‰ ๋‚ 
const lastDay = new Date(curDate.getFullYear(), curDate.getMonth() + 1, 0).getTime();

 

  • ๊นŠ์€ ๋ณต์‚ฌ
const copyList = JSON.parse(JSON.stringify(diaryList))

 

  • React์—์„œ ํด๋ž˜์Šค๋ช… ์—ฌ๋Ÿฌ๊ฐœ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•
<div className={['emotion_img_wrapper', `emotion_img_wrapper_${emotion}`].join(' ')}>

: ๋ฐฐ์—ด ๋ฆฌ์ŠคํŠธ๋กœ ์ž‘์„ฑํ•˜๊ณ  ๋ฌธ์ž์—ด๋กœ ๋‚˜ํƒ€๋‚ด์•ผํ•˜๋ฏ€๋กœ join์œผ๋กœ string์œผ๋กœ ๋ณ€ํ™˜

 

  • ๋‚ ์งœ๋ฅผ yyyy.m.d. ํ˜•ํƒœ๋กœ ๋ฐ”๊พธ๋Š” ๋ฐฉ๋ฒ•
const strDate = new Date(parseInt(date)).toLocaleDateString();

 

 

 

๋งˆ๋ฌด๋ฆฌ


์™„์„ฑํ•œ ํ™ˆ ํ™”๋ฉด!!

 

ํฐํŠธ๊ฐ€ ์•ฝ๊ฐ„ ๋‚ด ์Šคํƒ€์ผ์ด ์•„๋‹ˆ๋ผ ๊ฐ•์˜์™€ ๋‹ค๋ฅด๊ฒŒ ๋ฐ”๊ฟ”์ฃผ์—ˆ๋‹ค. ๐Ÿ˜

๋ฐฐ์šด ๋‚ด์šฉ๋“ค์„ ์‹ค์Šต์„ ํ†ตํ•ด ๋ณต์Šตํ•˜๋Š” ๋А๋‚Œ์ด๋ผ ํฌ๊ฒŒ ์–ด๋ ค์šด ๊ฑด ์—†์—ˆ๋‹ค.

๊นŒ๋จน์—ˆ๋˜ ํ•จ์ˆ˜๋“ค๋„ ํ”„๋กœ์ ํŠธ ์‹ค์Šต์„ ํ†ตํ•ด ๋‹ค์‹œ ๊ธฐ์–ตํ•  ์ˆ˜ ์žˆ์–ด ์ข‹์•˜๋‹ค.