๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์‹œ๋„/Code-States

[D+75] React๋ฅผ ์ด์šฉํ•ด ๊ฐ„๋‹จํ•œ ๋Œ“๊ธ€์ฐฝ ๋งŒ๋“ค๊ธฐ

by ๐Ÿ‡๋ฐ•๋ด‰๋ด‰๐Ÿ‡ 2021. 1. 1.

 

 

D+75

-  React๋ฅผ ์ด์šฉํ•ด ๊ฐ„๋‹จํ•œ ๋Œ“๊ธ€์ฐฝ ๋งŒ๋“ค๊ธฐ -

(์ „๋ฐ˜์ ์ธ ๋ฆฌ์•กํŠธ ์ดํ•ดํ•˜๊ธฐ)

 


 

 

์ด์ „์— html๊ณผ DOM์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ„๋‹จํ•œ ๋Œ“๊ธ€์ฐฝ์„ ๋งŒ๋“ค์–ด ๋ณธ ์ ์ด ์žˆ๋‹ค.

 

๊ทธ๋ž˜์„œ ์ด๋ฒˆ์—๋Š” ๋ฆฌ์•กํŠธ๋ฅผ ์‚ฌ์šฉํ•ด ๋Œ“๊ธ€์ฐฝ์„ ํ‘œํ˜„ํ•ด ๋ณด๊ธฐ๋กœ ํ•˜์˜€๋‹ค.

 

ํ•ด๋‹น ์ด๋ฏธ์ง€๋ฅผ ๋ณด๊ณ  ์ปดํฌ๋„ŒํŠธ๋ฅผ ๊ตฌ์ƒํ•˜๋ฉด ๋˜๋Š”๋ฐ

์ผ๋‹จ์€ ์ „์ฒด์ ์ธ ํ‹€์„ ๋‹ด๋‹นํ•˜๋Š” Twittler๊ฐ€ ํ•„์š”ํ•˜๊ณ ,

ํ…์ŠคํŠธ ๊ณต๊ฐ„์— ๋‚ด์šฉ์„ ์ž…๋ ฅํ•˜๊ณ  '์ƒˆ ๊ธ€ ์“ฐ๊ธฐ' ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ๋Œ“๊ธ€ ํ•˜๋‚˜๊ฐ€ ์ถ”๊ฐ€๋˜๋Š”๋ฐ

์ด๋•Œ ์ถ”๊ฐ€๋˜๋Š” ๋Œ“๊ธ€์˜ ํ•˜๋‚˜๋ฅผ ํ‘œํ˜„ํ•˜๋Š” SingleTweet์ด ํ•„์š”ํ•˜๋‹ค.

 

 

Twittler.js

์ „์ฒด์ ์ธ ๊ฒƒ์„ ๋‚˜ํƒ€๋‚ด๋Š” Twittler์ปดํฌ๋„ŒํŠธ๋กœ ์ผ๋‹จ์€ ์ƒˆ ๊ธ€ ์“ฐ๊ธฐ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ๋Œ“๊ธ€ ๋‚ด์—ญ์˜ ์ƒํƒœ๊ฐ€ ๋ณ€ํ•˜๊ธฐ ๋•Œ๋ฌธ์—

์ƒํƒœ๊ฐ€ ํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํด๋ž˜์Šค๋กœ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๊ตฌ์ƒํ•ด์•ผ ํ•œ๋‹ค.

 

๋˜ํ•œ ์ƒˆ ๊ธ€ ์“ฐ๊ธฐ ๋ฒ„ํŠผ์„ onClick ํ–ˆ์„ ๊ฒฝ์šฐ ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๋ฅผ ๋งŒ๋“ค๊ณ  ์ƒํƒœ๊ฐ’์ด ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ๋Š”

addTweet์„ ๋งŒ๋“ค์–ด ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅผ๋•Œ๋งˆ๋‹ค ์‹คํ–‰๋˜๋„๋ก ๋งŒ๋“ค์—ˆ๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  ๋งˆ์ง€๋ง‰์œผ๋กœ ์ƒํƒœ์— ์žˆ๋Š” tweets์˜ ๊ฐ’์ด ๋žœ๋”๋˜๋ฉด์„œ ํ•˜๋‚˜ํ•˜๋‚˜ ๋„์›Œ์ค˜์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์—

mapํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด tweetํ•˜๋‚˜ํ•˜๋‚˜๋ฅผ ๋„˜๊ฒจ ๋„˜๊ฒจ์ค„ ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ค€๋‹ค.

 

 

SingleTweet.js

props๋กœ tweet์„ ๋ฐ›์•„์˜จ SingleTweet์€ tweet์„ ํ†ตํ•ด

๋Œ“๊ธ€ ํ•˜๋‚˜์˜ ํ˜•ํƒœ๋ฅผ ๊ตฌํ˜„ํ•˜๋ฉด ์™„์„ฑ๋œ๋‹ค.

 

 

์•ฝ๊ฐ„์˜ ์Šคํƒ€์ผ๊นŒ์ง€ ์ ์šฉํ•ด ๋งŒ๋“  ๊ฒฐ๊ณผ๋ฌผ์ด๋‹ค.

 

์ž‘์„ฑ์ž๋Š” ์ด๋ฏธ ์„ค์ •์„ ํ•ด๋†“๊ณ  ํ…์ŠคํŠธ ๊ณต๊ฐ„์— ๊ฐ’์„ ์ž…๋ ฅํ•˜๊ณ  ๋ฒ„ํŠผ์„ ํด๋ฆญํ•  ๊ฒฝ์šฐ์—

๊ฐ’์ด ๋ฐ‘์—์„œ ๊ณ„์† ์ถ”๊ฐ€๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€