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

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

        方法:1、利用“const [arr, setArr]=useState([改變值])”修改State值;2、創(chuàng)建一個新的數(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)聽,當(dāng)State值為對象時,棧中存的是對象的引用(地址),setState改變的是堆中的數(shù)據(jù)

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

        解決

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

        示例如下:

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

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

        2)新創(chuàng)建一個數(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號-2    滬公網(wǎng)安備31011702889846號
        主站蜘蛛池模板: 蜜臀精品无码AV在线播放| 国产精品狼人久久久久影院| 欧美性videofree精品| 一本一道精品欧美中文字幕| 国产精品 视频一区 二区三区| 久久精品人人做人人爽电影蜜月 | 一区二区三区国产精品| 久久久无码人妻精品无码| 国产A级毛片久久久精品毛片| 国产成人A人亚洲精品无码| 亚洲精品无码久久久久| 精品国产一区二区三区AV性色| 久久这里只精品国产99热| 亚洲欧洲国产精品香蕉网| 精品精品国产欧美在线小说区| 国产亚洲精品va在线| 久久久久人妻一区精品色| 四库影院永久四虎精品国产| 国产精品自产拍高潮在线观看| 国产精品嫩草视频永久网址| 久久精品一本到99热免费| 伊在人亚洲香蕉精品区麻豆| 久久九九久精品国产免费直播| 99熟女精品视频一区二区三区| 国产精品视频免费观看| 国精品无码一区二区三区在线| 无码人妻精品一区二区三区久久| 亚洲AV日韩精品一区二区三区| 久久99国产精品成人欧美| 99热精品毛片全部国产无缓冲| 久久久精品免费国产四虎| 6一12呦女精品| 99国产欧美精品久久久蜜芽| 亚洲精品国产精品乱码不99| 亚洲视频在线精品| 午夜精品一区二区三区在线观看| 99久久精品国产一区二区三区| 久久成人影院精品777| 国产夫妇精品自在线| 99精品视频在线| 久久成人国产精品一区二区|