【发布时间】:2017-07-19 08:46:29
【问题描述】:
我正在使用来自 https://github.com/caspg/simple-data-table-map 的 repo 来实现我现有的应用程序。但是,在我现有的应用程序中,它包含各种具有自己特定初始状态的减速器。在 repo 中,initialState 在 main.js 中
const initialState = {
regionData: statesData,
emptyRegions: [],
sortState: { key: 'regionName', direction: 'ASC' }
};
const store = createStore(rootReducer, initialState);
我在 repo 中分离出 reducer(不使用 index.js 来组合其中的 3 个),因此我可以将它们添加到我现有的代码中。
const reducers = {
User: require('../reducers/User.js'),
Alert: require('../reducers/Alert.js'),
Auth: require('../reducers/Auth.js'),
Header: require('../reducers/Header.js'),
PasswordPolicy: require('../reducers/PasswordPolicy.js'),
AuditTrail: require('../reducers/AuditTrail.js'),
StoragePolicy: require('../reducers/StoragePolicy.js'),
DragAndDrop: require('../reducers/DragAndDrop.js'),
UserProfile: require('../reducers/UserProfile.js'),
emptyRegions: require('../reducers/map/emptyRegions.js'), //here is it
regionData: require('../reducers/map/regionData.js'), //here is it
sortState: require('../reducers/map/sortState.js'), //here is it
Storage: require('./storage/Storage.js'),
router: routerStateReducer
};
module.exports = combineReducers(reducers);
我有一个文件来组合所有减速器及其每个初始状态(与特定减速器在同一个文件中)
商店/index.js
module.exports = function(initialState) {
const store = redux.createStore(reducers, initialState,
compose(reduxReactRouter({ createHistory }), window.devToolsExtension ? window.devToolsExtension() : f => f)
)
if (module.hot) {
// Enable Webpack hot module replacement for reducers
module.hot.accept('../reducers', () => {
const nextReducer = require('../reducers')
store.replaceReducer(nextReducer)
})
}
return store
}
我尝试将initialState 放入sortState.js,但它不起作用。 数据不显示。一定是作者repo里的东西
const store = createStore(rootReducer, initialState);
将initialState设置为应用程序状态。
请赐教。谢谢
【问题讨论】:
-
'我有一个文件来组合所有的 reducer 和它们的每个初始状态' - 你能提供你组合初始状态的代码吗?
-
@cathalkilleen 例如,我有一个名为 User.js 的 reducer 文件,var initialState = { user_credential: { userId: null, username: null, isVerified: false, email: null } }; module.exports = (state = initialState, action = '') => { switch(action.type){ case 'GET_USER': ...... 所以initialState被传入module.exports = (state = initialState. ..) 我在 sortState.js 中尝试过,但它不起作用
标签: javascript reactjs redux