javascript - 为什么 redux 在存储中创建名称为 '0' 的状态?

标签 javascript reactjs redux react-redux

我使用 React、Redux 和 Redux-saga。对于 reducer ,我使用combineReducers()。在 reducer 中,我设置初始状态如下:

const authentication = (state = [{isAuthenticated: false}], action) => 
  {  
     switch (action.type) {
       case USER_LOGIN_TRY:
         return Object.assign({}, state, userLogin(action.email))
     default:
       return state;
     }
  }

这将创建带有变量isAuthenticatedauthentication对象。但是,当我从状态检索此值时,在设置初始状态后,我在 Redux DevTools(和控制台)中看到 redux 创建了名称为“0”的字段和我的初始状态。

Why redux create this field? Can i disable this?

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

最佳答案

执行 state = [{isAuthenticated: false}] 会使您的 default 成为一个数组

关于javascript - 为什么 redux 在存储中创建名称为 '0' 的状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48464831/

相关文章:

javascript - 覆盖层可通过在外部单击关闭

javascript - 如何使用 HTML5 获得相机照片的最佳分辨率?

reactjs - 用于非类型化 npm 模块的 TypeScript 自定义声明文件

javascript - Prop 的变化不会导致react - redux应用程序中的重新渲染

javascript - 如何阅读和理解 Angular 模板解析器错误

javascript 自定义作用域绑定(bind)函数

javascript - 在React应用程序中这个文件 "reportWebVitals.js"的含义和用途是什么?

css - ReactCSSTransitionGroup 离开动画不适用于路由

redux - 如何使用 redux-observable 在 dom 元素上添加事件监听器

javascript - 大型列表的过滤性能