Reactjs 为什么不是';t组合传感器在Redux中的接收状态?
当我看到一个reducer是通过Reactjs 为什么不是';t组合传感器在Redux中的接收状态?,reactjs,react-redux,Reactjs,React Redux,当我看到一个reducer是通过combineReducers调用的,它并没有得到参数中的状态或操作 我的减速器文件如下: import { combineReducers } from 'redux'; import nav from './reducers/nav'; import pages from './reducers/pages'; import entities from './reducers/entities'; export default function(initia
combineReducers
调用的,它并没有得到参数中的状态或操作
我的减速器文件如下:
import { combineReducers } from 'redux';
import nav from './reducers/nav';
import pages from './reducers/pages';
import entities from './reducers/entities';
export default function(initialData) {
return function(state, action) {
if (!state) {
console.log('no state', initialData);
return initialData;
}
// This is showing state as having expected value
console.log('state', state);
return combineReducers({
nav,
pages,
entities
});
}
};
我的存储初始化如下所示:
import reducerWrapper from './reducers';
// Initial state is defined above
var reducers = reducerWrapper(initialState),
store = Redux.createStore(reducers, initialState);
没有使用包装器(我在其他一些示例中看到)。我也试过了,但没用。我的意思是,在这两个例子中,我都不确定在写出内容的情况下,它将如何得到状态/动作。我觉得我失去了一些魔力
已更新
这是现在的reducers文件:
import { combineReducers } from 'redux';
import nav from './reducers/nav';
import pages from './reducers/pages';
import entities from './reducers/entities';
export default combineReducers({
nav,
pages,
entities
});
然后是
store=Redux.createStore(reducerRapper,initialState)
,也不起作用,即使我移除了reducerRapper
内部的包装,只导出默认的组合减速机`组合减速机
返回一个需要使用状态
和操作
调用的函数。您可以直接将其导出:
const rootReducer = combineReducers(...);
export default rootReducer;
或者,您可以按照当前的方式包装它:
const rootReducer = combineReducers(...);
export default function (initialData) {
return function (state, action) {
if (!state) {
console.log('no state', initialData);
return initialData;
}
// This is showing state as having expected value
console.log('state', state);
return rootReducer(state, action);
}
}
答案不容易在这里看到。问题是我的减速器没有默认状态 存储在此处触发初始化事件: 然后它最终到达这里: 这意味着如果我的减速机是
函数(状态,动作){return state}
而不是函数(state='anyDefaultValue'){return state}
,组合减速机
将错误地说减速机没有返回状态