2017-05-03 9 views
0

Combined Reducerで角度の可能性がある注入問題があるようです。 Angularは、Reduxストアを作成し、このインスタンスをReactに渡すことです。私はこの目的でngReactngRedux libsを使用しています。角度/ Redux/Reducersがインポートされていません

すべてのタイプミスをお許しください。アプリケーションはWebpack経由で正しくコンパイルされ、実行されますが、ここで詳しく説明します。

以下

は、私は、この減速組み合わせ(および他のいくつかのが、この質問には示されていない)リデューサーという名前のフォルダにindex.jsを持って、私の簡単なリデューサー

const botsReducerTemp = (state = [] , action) => { 
    switch(action.type) { 
     case 'ADD_BOT_API': 

     return state 

     default: 
     return state; 
    } 
} 
export default botsReducerTemp; 

ある

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.... 

は私の.configrootReducerにある問題の組み合わせ減速の輸入である利用できないとして表示されますはChromeのデバッグ時に表示されます。

$ ngReduxProvider.createStoreWithはokを実行しますが、rootReducerが空であるため、Reduxストアは構築されていません。

rootReducerは、どのように私は/インポートこの機能を注入しない実行/ .createStoreWith

を解析される関数ですか? module.js

答えて

0

私はインポートを削除し、必要

var rootReducer = require('../../reducers'); 

はその後、私の.configで、私は

let rootReducers = rootReducer.rootReducer; 

を使用して、

以下のようcreateStoreWithと呼ばれるに置き換え
$ngReduxProvider.createStoreWith(rootReducers, [thunk], null, [{ tests: {id: 1, isDone: false, text: 'bot 1'}}]); 
0

私は同様のパターンに従っており、私はgeできました次を経由して作業し、それをT:

あなたの.configで
import { combineReducers } from 'redux'; 
import { ExampleReducer } from './example'; 

export const RootReducer = combineReducers({ 
    example: ExampleReducer 
}); 

、その後:

... 
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); 
}) 
関連する問題