2016-09-27 261 views
1

我想要的状态复制与片(),然后操纵它并创建一个新的状态问题与片上()反应,终极版

这是我的减速机:

case types.LOAD_AMOUNT_CHECKINS_SUCCESS: { 
     let buildings = state.buildings.slice(); 

     buildings['devices_error'] = action.checkins['error]; 
     . 
     . 
     . 
     return Object.assign({}, state, 
      {buildings: buildings} 
     ); 
    } 

但应用slice()返回我:[]

我在哪里出错?

+0

你是什么'state.buildings'阵列的切片前的值? – slugo

回答

1

假设state.buildings是一个对象(而不是一个阵列),改变第二线这样:

case types.LOAD_AMOUNT_CHECKINS_SUCCESS: { 
    let buildings = Object.assign({}, state.buildings); 

    buildings['devices_error'] = action.checkins['error]; 
    . 
    . 
    . 
    return Object.assign({}, state, 
     { buildings: buildings } 
    ); 
} 
+0

谢谢!!!那是 –