站長(zhǎng)資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        react中usestate改變值不渲染怎么辦

        方法:1、利用“const [arr, setArr]=useState([改變值])”修改State值;2、創(chuàng)建一個(gè)新的數(shù)組,并將原數(shù)組的值賦值給新數(shù)組,并用“setState(新數(shù)組)”修改State,將棧中原數(shù)組所指向的地址改變即可。

        react中usestate改變值不渲染怎么辦

        本教程操作環(huán)境:Windows10系統(tǒng)、react17.0.1版、Dell G3電腦。

        react中usestate改變值不渲染怎么辦

        React中默認(rèn)淺監(jiān)聽(tīng),當(dāng)State值為對(duì)象時(shí),棧中存的是對(duì)象的引用(地址),setState改變的是堆中的數(shù)據(jù)

        所以此時(shí) setArr(arr) 后,棧中的地址還是原地址,React淺監(jiān)聽(tīng)到地址沒(méi)變,故會(huì)認(rèn)為State并未改變,故沒(méi)有重渲染頁(yè)面

        解決

        思路:將棧中原arr所指向的地址改變即可

        示例如下:

        1)直接setState(要修改的值)

        const [arr, setArr] = useState([]) setArr(1)

        2)新創(chuàng)建一個(gè)數(shù)組newArr,將原數(shù)組的值賦值給新數(shù)組,并setState(newArr)

        const [arr, setArr] = useState([]) const newArr = arr.slice(1) setArr(newArr)

        利用ES6的拓展符

        const [arr, setArr] = useState([]) setArr([...arr])

        推薦學(xué)習(xí):《react視頻教程》

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)
        主站蜘蛛池模板: 欧美精品国产一区二区三区| 亚洲综合精品香蕉久久网| 巨大黑人极品VIDEOS精品 | 国产精品宾馆在线精品酒店| 久久夜色精品国产亚洲av| 亚洲国产精品久久久久婷婷老年| 日韩精品无码中文字幕一区二区| 久久久无码精品亚洲日韩软件| 影视网欧洲精品| 国产在视频线精品视频二代| 精品无码日韩一区二区三区不卡| 亚洲综合无码精品一区二区三区| 欧美成人精品欧美一级乱黄一区二区精品在线 | 国产成人AV无码精品| 精品国产乱码一区二区三区| 老子影院午夜精品无码| 99久久精品免费看国产| 久久免费精品一区二区| 国产成人精品福利网站在线| 精品国产粉嫩内射白浆内射双马尾| 亚洲精品tv久久久久久久久| 亚洲中文久久精品无码| 亚洲精品高清一二区久久| 久久久久99精品成人片| 精品久久久无码中文字幕| 国模精品一区二区三区| 国产精品无码一区二区在线| www.日韩精品| 国产免费久久精品丫丫| 99久久精品免费国产大片| 国产AⅤ精品一区二区三区久久| 伊人久久大香线蕉精品| 国产A∨国片精品一区二区| 国产精品手机在线观看你懂的 | 久久青青草原精品国产软件| 久久国产精品波多野结衣AV| 欧美成人精品欧美一级乱黄一区二区精品在线 | 久久国产精品成人免费| 99精品久久久久中文字幕| 97国产精品视频| 国产大片91精品免费观看不卡|