react應用中mobx未檢測到陣列的更新

2021-09-11 16:22:58 字數 609 閱讀 3606

在mobx中定義乙個可觀察的陣列

class store
在元件裡面引用這個store

testarray.map(item=>(

))

這個列印這個testarray陣列會發現這個時候的陣列型別已經不是我們常規的array型別了,已經被mobx轉換成了observablearray型別的陣列,這種的如果你的store裡面只有這乙個陣列沒有其他變數的時候,更新整個陣列,除非你是將這個陣列置為空,不然元件是不會觀察到他的改變,就不會重新render了

解決辦法是:

在元件中使用這個陣列的時候,slice()一下轉變成我們正常的js型別的array就可以了

testarray.slice().map(item=>(

))

具體slice的地方可以是在store裡面也可以在元件裡面,元件裡面就像上面寫的那樣,store裡面就是先得到testarray然後slice一下,在把新的陣列賦值給他。

如果遇到使用陣列的時候出現一些看不懂的報錯,排除陣列越界的一些錯誤,多半是因為observablearray型別的問題,這個時候不妨slice()一下試試。

react中mobx失效問題

發現問題 小白解決過程 第一 找關鍵點,即 觸發到問題。第二 觸發後執行了哪些操作。第三 操作業務問題是否正常。第四 與正常業務比較,差別在 第五 思考問題。第六 求助。小白感覺自己發現問題後,處理問題,找到問題的效率很低不知道是不是我的思路出現了問題,希望得到大佬們的支援。最後 發現問題是,在re...

react中map的應用

當需要遍歷陣列時,特別是需要遍歷多個陣列時,我們就可以封裝函式,從而提高 的復用率,還要注意兩點哦,1.陣列的map可以進行遍歷,需要加唯一的key值,2.封裝成函式的話,記得內部需要加return關鍵字!當為多個陣列時。var arr a b c var arr2 d e f 封裝函式 funct...

C 中WebChart的應用例項 未測試

18個webchart曲線 柱狀圖c 原始碼 總結 使用webchart的步驟 一 得到要繫結的資料表 二 確定顯示是柱狀圖還是拆線圖去例項拆線或是柱狀例項 new 三 定義例項的樣式 四 給定義好的例項data.addx和y的資料 五 將定義好的例項add到webchart上並輸出顯示。1 首先得...