我有一个减速器如下
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”和其他东西......
我错过了什么?
感谢
答案 0 :(得分:2)
这是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/中,并且在调用currentLink
之后它按预期工作('Main'
为createStore
)