我似乎有一个可能的注射问题,我的组合减速器的角度。角是创建Redux存储,然后传递这个实例以作出反应。为此,我使用了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,它结合了这个还原器(还有其他几个,但在这个问题中没有显示)
import {combineReducers} from 'redux';
import botsReducerTemp from './bots/bot-reducersTemp';
const rootReducer = combineReducers ({
botsReducerTemp
});
export default rootReducer; 在我的角1.5应用程序中,我有一个module.js (导入的路径是正确的,并通过WebPack编译)
注:import rootReducer from '../../reducers'的进口这是index.js的联合减速器的进口。
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....我的.config rootReducer中的问题在Chrome中查看时显示为不可用。
$ngReduxProvider.createStoreWith执行ok,但是由于rootReducer是空的,所以没有构建Redux存储。
rootReducer是在.createStoreWith中执行/解析的函数。
那么我如何注入/导入这个函数呢?
发布于 2017-05-03 12:41:32
在module.js中,我删除了导入,并将其替换为一个需求
var rootReducer = require('../../reducers');然后在我的.config里我用了
let rootReducers = rootReducer.rootReducer;然后调用createStoreWith,如下所示
$ngReduxProvider.createStoreWith(rootReducers, [thunk], null, [{ tests: {id: 1, isDone: false, text: 'bot 1'}}] );发布于 2018-01-16 14:13:03
我遵循了类似的模式,并且能够通过以下方式使其工作:
import { combineReducers } from 'redux';
import { ExampleReducer } from './example';
export const RootReducer = combineReducers({
example: ExampleReducer
});然后在你的.config中:
...
import { RootReducer } from '../../reducers';
...
.config(($ngReduxProvider) => {
$ngReduxProvider.createStoreWith(RootReducer, [thunk], [logger], [{ tests: {id: 1, isDone: false, text: 'bot 1'}}] );
console.log('rootReducer = ' + typeof(RootReducer));
console.dir(RootReducer);
})https://stackoverflow.com/questions/43756750
复制相似问题