我似乎有一个可能的注射问题我的组合减速器角度 . Angular是创建Redux存储然后将此实例传递给React . 我正在使用ngReact和ngRedux库来达到这个目的 .
请原谅任何错别字 . 应用程序通过Webpack正确编译并运行,但此处详述此问题 .
下面是我的简单减速机
const botsReducerTemp = (state = [] , action) => {
switch(action.type) {
case 'ADD_BOT_API':
return state
default:
return state;
}
}
export default botsReducerTemp;
我在名为reducers的文件夹中有一个index.js,它结合了这个reducer(和其他几个但在这个问题中没有显示)
import {combineReducers} from 'redux';
import botsReducerTemp from './bots/bot-reducersTemp';
const rootReducer = combineReducers ({
botsReducerTemp
});
export default rootReducer;
在我的angular 1.5应用程序中,我有一个module.js(导入的路径是正确的,并通过WebPack编译)
注意:导入 import rootReducer from '../../reducers'
这是index.js的组合reducer的导入
import ngreact from 'ngreact';
import ngRedux from 'ng-redux';
import thunk from 'redux-thunk';
import logger from 'redux-logger'
import rootReducer from '../../reducers'
angular
.module('meso-app', [
'meso-core',
'ngFileUpload',
'chart.js',
'ngRedux'
])
.config(($ngReduxProvider) => {
$ngReduxProvider.createStoreWith(rootReducer, [thunk], [logger], [{ tests: {id: 1, isDone: false, text: 'bot 1'}}] );
console.log('rootReducer = ' + typeof(rootReducer));
console.dir(rootReducer);
})
......lot's other angular boot stuff....
The problem 在我的.config rootReducer中显示为在Chrome调试中查看时不可用 .
$ ngReduxProvider.createStoreWith执行正常,但由于rootReducer为空,因此不构建Redux存储 .
rootReducer是一个在.createStoreWith中执行/解析的函数
那么如何注入/导入这个功能呢?
2 回答
在module.js中,我删除了导入并将其替换为require
然后在我使用的.config中
然后调用createStoreWith,如下所示
我正在遵循类似的模式,我能够通过以下方式使其工作:
然后在你的.config中: