亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

React js- 顯示狀態值取決于 redux props 值

React js- 顯示狀態值取決于 redux props 值

鳳凰求蠱 2021-10-14 12:47:05
我有一個組件,在該組件中我想根據值的props值顯示狀態。我總是得到一個錯誤,在網上找不到一個好的例子。這是我的組件(波紋管),我想this.state.msg在this.props.passRecoveryEditSuccess.password_changed等于時顯示值1我編寫了massage應該設置狀態的函數,msg取決于從減速器返回的內容。問題是我不斷得到即將到來的結果:我怎么解決這個問題?
查看完整描述

1 回答

?
POPMUISE

TA貢獻1765條經驗 獲得超5個贊

您正在創建一個無限循環。componentDidUpdate()每當您的狀態或道具在組件中發生變化時都會被調用。所以在第一次渲染之后,你從 redux 得到更新的 props,所以componentDidUpdate()觸發,條件通過,你調用this.massage()


然后this.massage()更新組件的狀態 re-triggers componentDidUpdate(),它在調用之前檢查完全相同的條件this.massage(),從而創建循環。


您可以做的是將prevProps參數放入其中componentDidUpdate()并使用它來創建更受保護的條件。


componentDidUpdate(prevProps){

    if(this.props.passRecoveryEditSuccess !== prevProps.passRecoveryEditSuccess){

        this.massage()

    }

}

有了這個,你是說你只會this.massage()在屬于前一個渲染的道具不等于新渲染時調用。


查看完整回答
反對 回復 2021-10-14
  • 1 回答
  • 0 關注
  • 183 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號