站長(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)
        主站蜘蛛池模板: 久久国产精品国语对白| 久久这里只有精品首页| 亚洲精品欧美综合在线| 久久伊人精品青青草原高清| 欧美在线精品一区二区三区| 亚洲国产精品毛片av不卡在线| 青青热久久国产久精品| 国产精品99精品无码视亚| 精品国产福利久久久| 国产精品日韩欧美在线第3页| 国产精品成人无码久久久久久 | 精品亚洲aⅴ在线观看| 久久国产精品77777| 精品国产亚洲男女在线线电影| 精品熟女少妇aⅴ免费久久| 国产一区二区精品久久| 久久亚洲国产成人精品性色| 99在线热播精品免费99热| 久久这里只有精品首页| 国产精品无码一区二区三级 | 国产亚洲午夜高清国产拍精品| 99精品久久精品| 国产精品免费福利久久| 一本一本久久a久久综合精品蜜桃| 经典国产乱子伦精品视频| 国产亚洲精品xxx| 精品人妻少妇一区二区| 亚洲国产精品热久久| 精品国产欧美一区二区| 国产精品国产精品国产专区不卡| 国产亚洲精品自在久久| 精品人妻中文字幕有码在线| 久久99热只有频精品8| 人妻少妇乱子伦精品| 久久精品人人做人人妻人人玩| 日韩精品久久无码中文字幕| 日韩精品无码AV成人观看| 精品一区二区三区免费毛片爱 | 国产午夜精品久久久久九九| 国産精品久久久久久久| 精品久久人人妻人人做精品|