December 27, 2020
λκ° μ΄λ ΅κ² λκ»΄μ‘λλ°, κ·ΈλΌ λ§€ λ² μλ 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)
μν΄μ€¬μΌλ μ λ κ² μ΅λͺ ν¨μλ‘ λκΈ΄λ€.
μλ²λ‘ λΆν° λ°μμ¨ λ°μ΄ν°λ₯Ό λ°λ³΅μ λλ €μ λ°© λ°°μ΄μ μ€λ³΅μ μ κ±°ν λ€ 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 λ‘ μ λ°μ΄νΈ ν΄μ£Όμλ€.
μ¬μ€ κΈΈκ² μ μ κ±° κ°μ§λ§ μ λμ§ μμμ λ§μ΄ λ§νμ κ²ͺμμλ€.
κ·Έλ¦¬κ³ μ΄ κ²μ κ²°μ μ μΌλ‘ μ λλ‘ μλν΄μΌ κ² λ€κ³ λ§μλ¨Ήμ κ²μ νμ΄λμ λ§λμ μλ‘ λ³΄μ¬μ£Όλ μκ°μ κ°μ‘κΈ°μ κ°λ₯νλ€.
μλ°ν μ΄λ―Έμ§λ₯Ό μ νν΄μ κ°μ΄ λ£κ² λ§λ€μ΄ μ£Όκ³ μΆλ€.