摘要:在使用開發(fā)時(shí)經(jīng)常出現(xiàn)這個(gè)警告這個(gè)警告是因?yàn)槌霈F(xiàn)在異步網(wǎng)絡(luò)請(qǐng)求返回時(shí)頁面已經(jīng)卸載了,此時(shí)仍然會(huì)執(zhí)行的代碼導(dǎo)致的,有很多解決辦法,一般就是加個(gè)變量來判斷是否卸載,但是這樣挺麻煩的在每個(gè)頁面都添加,我們可以用高階組件來復(fù)用邏輯我們可以定義一個(gè)
1.在使用react-native開發(fā)時(shí)經(jīng)常出現(xiàn)這個(gè)警告:
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 xxx component
這個(gè)警告是因?yàn)槌霈F(xiàn)在異步網(wǎng)絡(luò)請(qǐng)求返回時(shí)頁面已經(jīng)卸載了,此時(shí)仍然會(huì)執(zhí)行setState的代碼導(dǎo)致的,有很多解決辦法,一般就是加個(gè)isMount變量來判斷是否卸載,但是這樣挺麻煩的在每個(gè)頁面都添加,我們可以用高階組件來復(fù)用邏輯
2.我們可以定義一個(gè)ts模塊
import *as React from "react" const SafeSetState = function(WrappedComponent:React.ComponentClass
) { return class SafeComponent extends WrappedComponent{ private isMount:boolean componentDidMount(){ this.isMount=true if(super.componentDidMount){ super.componentDidMount() } } componentWillUnmount(){ this.isMount=false } setState(state,callback?){ if(this.isMount){ super.setState(state,callback) } } } }; export default SafeSetState
我們這種高階組件方式叫反向繼承,我們添加一個(gè)isMount屬性,在setState時(shí)判斷一下裝填就OK了
其實(shí)還有其他高階解決辦法,可以參考這個(gè)大神的文章從一次react異步setState引發(fā)的思考
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/99918.html
摘要:坑請(qǐng)求跨域問題使用時(shí),其中的已經(jīng)默默幫你做了很多事,都幫你配置好了所以你發(fā)現(xiàn)你找不到相關(guān)的配置文件。放到服務(wù)器上仍然是空白的無法訪問。原來是因?yàn)槁窂絾栴},簡單配置一下即可。上文提到過已經(jīng)幫我們做好了很多事,方便在此,麻煩也在此。 react坑: 1、fetch請(qǐng)求cookie跨域問題使用creat-react-app時(shí),其中的react-script已經(jīng)默默幫你做了很多事,都幫你配置好...
摘要:本文翻譯自原作者如果有任何版權(quán)問題,請(qǐng)聯(lián)系當(dāng)你在組件中調(diào)用時(shí),你覺得會(huì)發(fā)生什么當(dāng)然,會(huì)用這條狀態(tài)重新渲染組件并且更新匹配到的,然后返回元素。如果你之前使用過一些渲染器比如說,你可能知道在頁面中使用超過一個(gè)渲染器是沒什么問題的。 本文翻譯自:How Does setState Know What to Do?原作者:Dan Abramov 如果有任何版權(quán)問題,請(qǐng)聯(lián)系shuirong199...
摘要:,已過期,請(qǐng)使用代替。解決方案安卓增加屬性并設(shè)置為官方解釋當(dāng)圖片實(shí)際尺寸和容器樣式尺寸不一致時(shí),決定以怎樣的策略來調(diào)整圖片的尺寸。 本文均為RN開發(fā)過程中遇到的問題、坑點(diǎn)的分析及解決方案,各問題點(diǎn)之間無關(guān)聯(lián),希望能幫助讀者少走彎路,持續(xù)更新中... (2019年3月29日更新) 原文鏈接:http://www.kovli.com/2018/06/... 作者:Kovli - 如何在原生...
閱讀 2398·2021-10-09 09:41
閱讀 3200·2021-09-26 09:46
閱讀 846·2021-09-03 10:34
閱讀 3186·2021-08-11 11:22
閱讀 3381·2019-08-30 14:12
閱讀 721·2019-08-26 11:34
閱讀 3353·2019-08-26 11:00
閱讀 1785·2019-08-26 10:26