第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

ReactJS:每次更新時(shí)將狀態(tài)設(shè)置回初始值

ReactJS:每次更新時(shí)將狀態(tài)設(shè)置回初始值

猛跑小豬 2021-11-25 19:02:15
我剛開(kāi)始使用 ReactJS,但在理解狀態(tài)和道具方面仍然存在問(wèn)題。我正在嘗試使用 node.js、React 和 Socket.io 構(gòu)建一個(gè)聊天應(yīng)用程序。在服務(wù)器端一切正常,但是,我很難顯示數(shù)據(jù)。這是我的問(wèn)題:我有一個(gè)包含三個(gè)組件的應(yīng)用程序,組織如下:聊天 |- 消息列表 |- 消息輸入我希望 Chat 組件保存一個(gè)消息列表,該列表由服務(wù)器和 messageInput 組件提供。由于聊天組件將保持狀態(tài),因此我有一個(gè)初始化兩個(gè)變量的構(gòu)造函數(shù)。但是,當(dāng)我從 messageInput 更新這些變量時(shí),會(huì)重新渲染組件,從而導(dǎo)致再次調(diào)用構(gòu)造函數(shù)并重新初始化狀態(tài)。class Chat extends React.Component{    constructor(){        super()        this.state = {            messageList: [],            username:null        }    }我注意到從服務(wù)器檢索的數(shù)據(jù)不會(huì)導(dǎo)致?tīng)顟B(tài)設(shè)置為默認(rèn)值。輸入重置了 Chat 組件中的狀態(tài)值,但似乎按預(yù)期工作:消息被發(fā)送到服務(wù)器,并顯示給其他客戶(hù)端。我想我還沒(méi)有完全理解如何在組件中正確設(shè)置狀態(tài)。您將在下面找到一些客戶(hù)端代碼。
查看完整描述

1 回答

?
qq_笑_17

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超7個(gè)贊

重新渲染一個(gè)組件不會(huì)導(dǎo)致它的狀態(tài)被重置。嘗試將您的handleSubmit功能更改為:


handleSubmit(event){

    this.props.sendMessage(this.state.message)

    this.setState({

        message:''

    })

    event.preventDefault(); // So the page won't refresh

}


查看完整回答
反對(duì) 回復(fù) 2021-11-25
  • 1 回答
  • 0 關(guān)注
  • 409 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)