獲取mobx中的數(shù)組數(shù)據(jù)
mobx 5之前版本中如果將數(shù)組作為可觀察, 可以通過(guò)添加修飾符@observable或者調(diào)用observable方法麸俘,獲取mobx中的數(shù)組數(shù)據(jù)時(shí),需要對(duì)拿到的數(shù)據(jù)進(jìn)行slice()處理后才能進(jìn)行數(shù)組遍歷鸠补。
原因
1、Observable 數(shù)組并非真正的數(shù)組,所以它們無(wú)法通過(guò) Array.isArray() 的檢查。最常見(jiàn)的處理方法是在傳遞給第三方庫(kù)之前迫筑,你經(jīng)常需要先對(duì)其進(jìn)行 .slice() 操作宪赶,從而得到一個(gè)淺拷貝的真正數(shù)組。
2铣焊、向一個(gè)已存在的 observable 對(duì)象中添加屬性不會(huì)被自動(dòng)捕獲逊朽。要么使用 observable 映射來(lái)替代罕伯,要么使用工具函數(shù) 中方法來(lái)對(duì)想要?jiǎng)討B(tài)添加屬性的對(duì)象進(jìn)行讀/寫(xiě)/迭代曲伊。