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

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

react里這種報(bào)錯(cuò)該怎么解決

react里這種報(bào)錯(cuò)該怎么解決

一只萌萌小番薯 2019-02-25 16:28:59
報(bào)錯(cuò)提示如下:Warning: setState(...): Can only update a mounted or mounting component. This usually means you called setState() on an unmounted component. This is a no-op. Please check the code for the Timer component.這里是我的代碼(這里的props是接受另外一個(gè)組建傳過來的數(shù)據(jù)):這里附上stackflow里的答案,但是看了下不是很清楚。點(diǎn)擊鏈接
查看完整描述

2 回答

?
至尊寶的傳說

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

在componentWillUnmount生命周期把你這個(gè)定時(shí)器clear掉


查看完整回答
反對(duì) 回復(fù) 2019-03-01
?
慕桂英3389331

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

首先恭喜您已經(jīng)解決了!在忙著重構(gòu)react沒來得及看,真是抱歉!我就說說原因吧!

一般原因

這種錯(cuò)誤一般出現(xiàn)在我們已經(jīng)從DOM中移除了react組件,這時(shí)才調(diào)用setState改變組件的狀態(tài)。

舉個(gè)比較常見的例子:我們?cè)赾omponentWillMount中發(fā)送異步請(qǐng)求,并且我們調(diào)用setState根據(jù)響應(yīng)數(shù)據(jù)改變組件的狀態(tài),然后請(qǐng)求還未完成,我們改變了頁面也就是移除該組件,就會(huì)報(bào)這個(gè)錯(cuò)誤。這是因?yàn)殡m然組件已經(jīng)被移除,但是請(qǐng)求還在執(zhí)行,所以會(huì)報(bào)setState() on an unmounted component的錯(cuò)誤。

如何解決?

我們只要在react組件被移除之前終止setState操作就可以了。

業(yè)務(wù)例子

  1. 定時(shí)器,在生命周期函數(shù)componentWillUnmount把定時(shí)器清除掉。

  2. 異步請(qǐng)求,用abort() 或 包裹Promise等 ,請(qǐng)求方式不一樣,處理方法也不同!


查看完整回答
反對(duì) 回復(fù) 2019-03-01
  • 2 回答
  • 0 關(guān)注
  • 957 瀏覽
慕課專欄
更多

添加回答

舉報(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)