ComongUs ChatterBox Client (2)

πŸŠλ” μ‹œλ„ν•΄ λ³Ό 것 - μ–Όλ§ˆλ‚˜ λ‹¬μ„±ν–ˆλ‹ˆ?

1. Auto-Fetching

λ­”κ°€ μ–΄λ ΅κ²Œ λŠκ»΄μ‘ŒλŠ”λ°, 그럼 맀 번 μžλ™ CMD + R μƒˆλ‘œκ³ μΉ¨μ„ ν•΄μ£Όλ©΄ λ˜μž–μ•„?

componentDidMount() μ—μ„œ, 초기 μ½”λ“œλŠ” μ•„λž˜μ™€ κ°™μ•˜λ‹€.

componentDidMount() {
  this.getData();
}

그리고 ꡬ글에 μžλ™ μƒˆλ‘œκ³ μΉ¨μ„ κ²€μƒ‰ν•˜λ‹€ λ³΄λ‹ˆ 이런게 λ‚˜μ™€μ„œ μ μš©ν•΄ λ΄€λ‹€.

componentDidMount() {
  window.setTimeout(window.location.reload(), 60000);
}

1λΆ„λ§ˆλ‹€ (60초) 창을 μžλ™ μƒˆλ‘œκ³ μΉ¨ ν•΄μ£ΌλŠ” κΈ°λŠ₯을 ν•˜λŠ”λ°, λ­”κ°€? μ–΅μ§€λ‘œ? λ˜λŠ”κ±° 같은데??

κ°•μ œλ‘œ 맞좘 λŠλ‚Œμ΄λž„κΉŒ?

λ§Œμ•½ 1μ΄ˆλ§ˆλ‹€ μžλ™ μƒˆλ‘œκ³ μΉ¨μ΄λ©΄ 창이 1μ΄ˆλ§ˆλ‹€ κΉœλΉ‘κ±°λ €μ„œ μ‹œλ ₯에 μƒλ‹Ήν•œ μ•…μ˜ν–₯을 끼칠 지도 λͺ¨λ₯Έλ‹€.

κ·Έλž˜μ„œ λ§ˆμ§€λ§‰ 방법.

componentDidMount() {
  setInterval(() => {
    this.getData();
  }, 1000);
}

class ν˜• μ»΄ν¬λ„ŒνŠΈμ—μ„œλŠ” ν•¨μˆ˜λ₯Ό μž‘μ„±ν•˜λ©΄ μœ„μ— 항상 constructor 내에 μ•„λž˜ 처럼 μž‘μ„±ν•˜λŠ”λ°,

this.getData = this.getData.bind(this)

μ•ˆν•΄μ€¬μœΌλ‹ˆ μ €λ ‡κ²Œ 읡λͺ… ν•¨μˆ˜λ‘œ λ„˜κΈ΄λ‹€.

2. Room (category) μ„ νƒν•˜κΈ°

μ„œλ²„λ‘œ λΆ€ν„° λ°›μ•„μ˜¨ 데이터λ₯Ό λ°˜λ³΅μ„ λŒλ €μ„œ λ°© 배열을 쀑볡을 μ œκ±°ν•œ λ’€ state 에 μ„€μ •ν•΄ λ‘μ—ˆλ‹€.

render λ˜λŠ” 뢀뢄에 jsx 둜 select 와 option 을 μ‚¬μš©ν•΄μ„œ Room 을 선택할 수 있게 ν•΄μ£Όμ—ˆλ‹€.

onChange 이벀트λ₯Ό select/option λΆ€λΆ„ 에 μ μš©ν•΄μ„œ handleChangeRoom ν•¨μˆ˜λ₯Ό ν†΅ν•΄μ„œ,

state λ₯Ό event.target.value 둜 λ°›μ•„ λ³€κ²½ν•΄ μ£Όμ—ˆλ‹€.

이 κ³Όμ •μ—μ„œ DOM 을 선택해 μ‚¬μš©ν–ˆλŠ”λ° λ¦¬μ•‘νŠΈμ—μ„œ μ΄λ ‡κ²Œ 적용 해도 λ˜λŠ”μ§€λŠ” 아직 ν™•μ‹€ν•˜μ§„ μ•Šλ‹€.

그리고 select/option 에 μ—†λŠ” 방을 λ§Œλ“€μ–΄μ„œ chat 을 날리고 μ‹Άλ‹€ ν•˜λ©΄,

select/option 의 β€œType RoomName ⏩” 을 (value κ°€ typeRoom) 클릭할 λ•Œ,

display κ°€ β€œnone” μ΄μ˜€λ˜ input μš”μ†Œκ°€ μ§ ! ν•˜κ³  λ‚˜νƒ€λ‚œλ‹€.

μ—¬κΈ° input 에도 이벀트λ₯Ό λ§ˆμ°¬κ°€μ§€λ‘œ handleChangeRoom 에 κ±Έκ³  room 의 state λ₯Ό DOM 선택 을 μ‚¬μš©ν•΄μ„œ setState 둜 μ—…λ°μ΄νŠΈ ν•΄μ£Όμ—ˆλ‹€.

사싀 길게 적은 κ±° κ°™μ§€λ§Œ 잘 λ˜μ§€ μ•Šμ•„μ„œ 많이 λ§‰νž˜μ„ κ²ͺμ—ˆμ—ˆλ‹€.

그리고 이 것을 κ²°μ •μ μœΌλ‘œ μ œλŒ€λ‘œ μ‹œλ„ν•΄μ•Ό κ² λ‹€κ³  λ§ˆμŒλ¨Ήμ€ 것은 νŽ˜μ–΄λ‹˜μ„ λ§Œλ‚˜μ„œ μ„œλ‘œ λ³΄μ—¬μ£ΌλŠ” μ‹œκ°„μ„ κ°€μ‘ŒκΈ°μ— κ°€λŠ₯ν–ˆλ‹€.

πŸš€κ³Όμ • 사진

1. 전체 ν™”λ©΄

chat 01

2. 쀑간 ν™”λ©΄

chat 02

3. μž‘μ€ ν™”λ©΄

chat 03

πŸŒˆλ” 해보고 싢은 것

아바타 이미지λ₯Ό μ„ νƒν•΄μ„œ 같이 λ„£κ²Œ λ§Œλ“€μ–΄ μ£Όκ³  μ‹Άλ‹€.


Written by@[DotoriMook]
ν”„λ‘ νŠΈμ—”λ“œ μ£Όλ‹ˆμ–΄ 개발자 λ„ν† λ¦¬λ¬΅μ˜ 기술개발 λΈ”λ‘œκ·Έ μž…λ‹ˆλ‹€.

GitHubMediumTwitterFacebook