Javascript 为什么重复使用“0”名称在存储中创建状态?

Javascript 为什么重复使用“0”名称在存储中创建状态?,javascript,reactjs,redux,react-redux,Javascript,Reactjs,Redux,React Redux,我使用React、Redux和Redux传奇。对于减速器,我使用组合减速器。在减速器中,我设置初始状态如下: const authentication = (state = [{isAuthenticated: false}], action) => { switch (action.type) { case USER_LOGIN_TRY: return Object.assign({}, state, userLogin(action.

我使用React、Redux和Redux传奇。对于减速器,我使用组合减速器。在减速器中,我设置初始状态如下:

const authentication = (state = [{isAuthenticated: false}], action) => 
  {  
     switch (action.type) {
       case USER_LOGIN_TRY:
         return Object.assign({}, state, userLogin(action.email))
     default:
       return state;
     }
  }
这将使用变量isAuthenticated创建身份验证对象。但是,当我从状态中检索此值时,在设置初始状态后,我在Redux DevTools和控制台中看到Redux创建了名为“0”的字段和我的初始状态


为什么Redux创建此字段?我可以禁用这个吗?我不想为检查代码中前缀为“0”的字段创建多个代码块。

执行状态=[{isAuthenticated:false}]使您的默认值成为数组

执行状态=[{isAuthenticated:false}]使您的默认值成为数组

状态=[{isAuthenticated:false}]:状态是添加了对象的数组。0是对象在数组中位置的索引。如果不需要array.Ooo,只需将state作为对象。我添加了第二个[]括号,因为我认为它需要CombineReducer,而忘记了它在数组中创建0索引。非常感谢你!请回答这个问题,我把它标为解决方案。保存my night:state=[{isAuthenticated:false}]:state是一个数组,其中添加了一个对象。0是对象在数组中位置的索引。如果不需要array.Ooo,只需将state作为对象。我添加了第二个[]括号,因为我认为它需要CombineReducer,而忘记了它在数组中创建0索引。非常感谢你!请回答这个问题,我把它标为解决方案。你拯救了我的夜晚: