2017-04-25 104 views
1

初始化状态的问题,我有一个减速为以下与“@@终极版/初始化”的终极版

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”:“主”}但我期望最初传递{'currentLink':'Main'},但是我得到了“@@ redux/init”和其他东西...

我错过了什么?

感谢

回答

1

这是终极版的(见https://github.com/reactjs/redux/blob/master/src/createStore.js#L242)的默认行为。创建存储时,会分派init-action(类型@@redux/init)以检索初始状态。

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

在您的示例代码看起来是正确的,我进入它到这个的jsfiddle:https://jsfiddle.net/v1kvcjbu/46/和它的作品如预期(currentLink'Main'调用createStore后)。