initialization - Redux 中的初始化状态问题为 "@@redux/init"

标签 initialization redux state

我有一个如下的 reducer

const TopLinkReducer = (state = {'currentLink':'Main'}, action) => {
  switch (action.type) {
    case 'switchTopLink':
      return Object.assign({}, state, {
          currentLink: action.id
      })
    default:
      return state
  }
}

export default TopLinkReducer

我的目标是提供一个初始状态为 {'currentLink':'Main'} 但我希望最初应该传入 {'currentLink':'Main'} 但我得到了“@@redux/init”还有其他东西...

我错过了什么?

谢谢

最佳答案

这是 redux 的默认行为(参见 https://github.com/reactjs/redux/blob/master/src/createStore.js#L242 )。创建存储后,将调度 init-action(类型 @@redux/init)来检索初始状态。

您的 reducer 应该通过仅返回未更改的状态来处理未知的@@redux/init操作。

您的示例中的代码看起来正确,我将其输入到此 jsfiddle 中:https://jsfiddle.net/v1kvcjbu/46/它按预期工作(在调用 createStore 后,currentLink'Main')。

关于initialization - Redux 中的初始化状态问题为 "@@redux/init",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43618737/

相关文章:

kubernetes - 覆盖子图中的引用文件(在 .Files 中)或从主图中插入 mariadb 初始文件

javascript - 我应该检查操作类型中是否有 'SUCCESS' 之类的关键字?

javascript - 如何通过构建现有状态来更新 reactjs 应用程序的状态?

c - 结构变量没有在c中初始化

C 相互引用静态初始值设定项

javascript - 修改 react-boilerplate 以在 store 的单个键下嵌套注入(inject)的 reducer

javascript - 如果这是用户访问的第一个组件,则将用户重定向到另一个组件

javascript - 更新数组 useState react 钩子(Hook)(Next.js)

flutter - 来自 FutureBuilder 的 Navigator.pop

c - 使用 memset 和 int 值初始化整数数组 - 失败