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

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

react數(shù)據(jù)傳遞問題

react數(shù)據(jù)傳遞問題

慕運(yùn)維8079593 2018-12-18 22:21:22
react-redux的傳值問題我想做的是:a,b,c三個(gè)組件用react-redux進(jìn)行數(shù)據(jù)管理,但是我現(xiàn)在遇到的問題是:b通過屬性賦值,c通過props收到a的值,但是b的state值改變,c卻不會(huì)變化了,很奇怪  handleSearch(value) {    this.state.historyList.push(value)    this.setState({       historyList: this.state.historyList     //1     })   }   render() {    return (       <Fragment>         <SearchHeader  toSubmit={this.handleSearch}/>         <SearchContent historyList={this.state.historyList} />  //2       </Fragment>     )   }如代碼所示:原本this.state.historyList可以用通過屬性傳值給子組件SearchContent .實(shí)現(xiàn)中間組件state的狀態(tài)改變,進(jìn)行子組件的render函數(shù)再次調(diào)用刷新數(shù)據(jù);但我發(fā)現(xiàn):export default connect(mapStateToProps, mapDispatchToProps)(SearchContent)把子組件用connect連接了, 最后中間組件的this.state.historyList改變,子組件沒觸發(fā)render函數(shù)的調(diào)用,但是改為export default SearchContent這樣能收到新的數(shù)據(jù)哪里寫錯(cuò)了嗎?不知道有沒有說清楚。。。
查看完整描述

1 回答

?
互換的青春

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

handleSearch(value) {    this.setState({      historyList: [...this.state.historyList, value]
    })
}

永遠(yuǎn)不要直接改變state里的數(shù)組和對(duì)象的內(nèi)部值,涉及到數(shù)據(jù)對(duì)比。大部分情況下,react會(huì)認(rèn)為你沒有更新數(shù)據(jù)。你用的是PureComponent嗎?


查看完整回答
反對(duì) 回復(fù) 2018-12-18
  • 1 回答
  • 0 關(guān)注
  • 633 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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