最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

react hook使用useState更新數(shù)組,無法更新問題及解決

 更新時間:2024年03月13日 10:11:19   作者:on_風而  
這篇文章主要介紹了react hook使用useState更新數(shù)組,無法更新問題及解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

問題描述

const [textList, setTextList] = useState(原數(shù)組);
setTextList(新數(shù)組);

當修改原數(shù)組時,如果原數(shù)組是個深層數(shù)組,使用setTextList修改時,不會觸發(fā)頁面刷新

原因分析

這個涉及到可變對象和不可變對象的知識,

在vue和react中,如果更新可變對象時,可能會引起視圖更新,

這是因為,vue和react默認都是淺監(jiān)聽,只會監(jiān)聽數(shù)據(jù)的第一層,

如果數(shù)據(jù)是引用類型,內層數(shù)據(jù)發(fā)生改變,并不會監(jiān)聽到。

解決方法

這里應該先將原數(shù)組淺拷貝,賦值給新數(shù)組,再修改新數(shù)組(不影響原狀態(tài))

將修改后的新數(shù)組使用setValue傳遞進去,這樣就會引起視圖更新

const [value, setValue] = useState(initialArray);

return{
   //item是個數(shù)組
    add: (item: T) => setValue([...value, item]),

    removeIndex: (index: number) => {
    // 把value copy一遍,解構一遍,再把結構的值為了生成新的數(shù)組,相當于淺拷貝,這樣才能觸發(fā)更新數(shù)據(jù)
        const copy = [...value];
        copy.splice(index, 1);
        setValue(copy);
    },
}

總結

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Ant Design與Ant Design pro入門使用教程

    Ant Design與Ant Design pro入門使用教程

    Ant Design 是一個服務于企業(yè)級產品的設計體系,組件庫是它的 React 實現(xiàn),antd 被發(fā)布為一個 npm 包方便開發(fā)者安裝并使用,這篇文章主要介紹了Ant Design與Ant Design pro入門,需要的朋友可以參考下
    2023-12-12
  • React styled components樣式組件化使用流程

    React styled components樣式組件化使用流程

    styled-components 是react的一個第三方庫,一種css私有化的方式。用來實現(xiàn)CSS in JS 的方式之一。在多人協(xié)作中,css必定會出現(xiàn)命名沖突,與vue的scoped解決方案不同,react用styled-components的給類名加了隨機字符的方式實現(xiàn)了css的私有化
    2023-02-02
  • react基于Ant Desgin Upload實現(xiàn)導入導出

    react基于Ant Desgin Upload實現(xiàn)導入導出

    本文主要介紹了react基于Ant Desgin Upload實現(xiàn)導入導出,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-01-01
  • react 頁面加載完成后自動執(zhí)行標簽的點擊事件的兩種操作方法

    react 頁面加載完成后自動執(zhí)行標簽的點擊事件的兩種操作方法

    這篇文章主要介紹了react 頁面加載完成后自動執(zhí)行標簽的點擊事件,本文給大家分享兩種操作方法結合示例代碼給大家講解的非常詳細,需要的朋友可以參考下
    2022-12-12
  • react?Table準備Spin?Empty?ConfigProvider組件實現(xiàn)

    react?Table準備Spin?Empty?ConfigProvider組件實現(xiàn)

    這篇文章主要為大家介紹了react?Table準備Spin、Empty、ConfigProvider組件實現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪<BR>
    2023-02-02
  • react如何實現(xiàn)表格多條件搜索

    react如何實現(xiàn)表格多條件搜索

    這篇文章主要介紹了react如何實現(xiàn)表格多條件搜索問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • react18?hooks自定義移動端Popup彈窗組件RcPop

    react18?hooks自定義移動端Popup彈窗組件RcPop

    這篇文章主要介紹了react18?hooks自定義移動端Popup彈窗組件RcPop,react-popup?基于react18+hook自定義多功能彈框組件,整合了msg/alert/dialog/toast及android/ios彈窗效果,需要的朋友可以參考下
    2023-08-08
  • React從命令式編程到聲明式編程的原理解析

    React從命令式編程到聲明式編程的原理解析

    這篇文章主要介紹了React從命令式編程到聲明式編程,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-09-09
  • react-redux及redux狀態(tài)管理工具使用詳解

    react-redux及redux狀態(tài)管理工具使用詳解

    Redux是為javascript應用程序提供一個狀態(tài)管理工具集中的管理react中多個組件的狀態(tài)redux是專門作狀態(tài)管理的js庫(不是react插件庫可以用在其他js框架中例如vue,但是基本用在react中),這篇文章主要介紹了react-redux及redux狀態(tài)管理工具使用詳解,需要的朋友可以參考下
    2023-01-01
  • 使用Jenkins部署React項目的方法步驟

    使用Jenkins部署React項目的方法步驟

    這篇文章主要介紹了使用Jenkins部署React項目的方法步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-03-03

最新評論

正蓝旗| 镇雄县| 六盘水市| 白城市| 小金县| 嘉黎县| 平度市| 天柱县| 南平市| 滨海县| 石嘴山市| 镇巴县| 天长市| 应城市| 明溪县| 泰宁县| 十堰市| 新田县| 汉沽区| 洞口县| 寿宁县| 开平市| 张家港市| 霍城县| 内乡县| 双峰县| 舒城县| 山东省| 呼和浩特市| 江阴市| 定远县| 瑞昌市| 宜良县| 天津市| 土默特左旗| 南汇区| 嵊州市| 健康| 关岭| 都昌县| 遂溪县|