mobx在react native中報警告: attempt to read an array index that is bounds...

在rn開發(fā)中,一個FlatList中數(shù)據(jù)用到mobx,遇到下圖中的警告


Simulator Screen Shot - iPhone 6 - 2018-01-08 at 11.44.31.jpg

查到下面的issues解決了問題,就是不要直接使用mobx的數(shù)據(jù),slice一下就沒有警告了;
Issues鏈接

<FlatList
  data={historyStore.historyData}
  renderItem={this.renderItem}/>

historyData為mobx數(shù)據(jù),作如下改動,就沒有警告了

<FlatList
  data={historyStore.historyData.slice()}
  renderItem={this.renderItem}/>

但是如果是SectionList,其數(shù)據(jù)結構是多維數(shù)組,只是在調用mobx數(shù)據(jù)時slice一下依然會有警告,因為其數(shù)據(jù)內部的數(shù)組依然是mobx數(shù)據(jù),此種情況可使用computed改造數(shù)據(jù),代碼如下:

//class GroupChatListStore
@observable sectionData = [
        {
            key: "臨時群組",
            data: [0,1,2 ]
        },
        {
            key: "我的圈子",
            data: [0,1,2]
        }
    ];
@computed get formattedList(){
        return this.sectionData.map((v)=>{
            return {
                key: v.key,
                data: v.data.slice(),
            }
        }).slice();
    }

//使用方法
<SectionList sections={groupChatListStore.formattedList}/>
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • react-native + mobx 入門到放棄 標簽(空格分隔): react mobx Android 作為...
    swensun閱讀 5,708評論 3 14
  • *面試心聲:其實這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個offer,總結起來就是把...
    Dove_iOS閱讀 27,656評論 30 472
  • 功能點: 1.頁面調用指定的py文件,觸發(fā)測試腳本執(zhí)行 2.上傳待測試數(shù)據(jù)到指定目錄下,供腳本使用 3.下載指定文...
    大嬸N72閱讀 701評論 0 3
  • 阿原獨自居住的第五年。鏡中自己的身體纖細而成熟,緊實的肌肉凝結著自律的力量。她是在有意訓練身體的每一部分,這讓她感...
    懷念你童言無忌閱讀 300評論 0 0
  • 勇敢 文/左亦蘆葦 婉轉的流光在冬雨里慢慢飛舞 蟄伏已久的勇敢不帶一絲血色 羽翳伴著楓...
    左亦蘆葦閱讀 274評論 0 1

友情鏈接更多精彩內容