2016-07-29 5 views
0

私は、ストアにapiデータをディスパッチする意図で、「アクション」にペイロードを設定しました。しかし、Dispatcher.registerの内部ではスイッチ・ケースはトリガーされません。Dispatcher.dispatchの動作中、格納するペイロードをディスパッチしない

フラックス版: "フラックス": "^ 2.1.1"、

1)アクションファイル:(注:receivedAllServicesは、デバッガを使用することによってトリガーされることを確認している)

"use strict" 

var Dispatcher = require('../dispatcher/appDispatcher'); 
// var requestActions = require('./requestActions'); 
var ActionTypes = require('../constants/actionTypes'); 

var ResponseActions = { 

    receivedAllServices: function(all_services){ 

     console.log('response received'); 
     debugger; 

     Dispatcher.dispatch({ 
      actionType: ActionTypes.RECEIVED_ALL_SERVICES, 
      services: all_servicess 
     }); 
    } 



}; 

module.exports = ResponseActions; 

2)ストア:(注:店舗アクション内のデバッガが起動されていない)

Dispatcher.register(function(action){ 
    switch(action.actionType){ 
     case ActionTypes.RECEIVED_ALL_SERVICES: 

      debugger; 

      // AuthorStore.emitChange(); 
      break; 
    } 
}); 

3)ディスパッチャファイル:

var Dispatcher = require('flux').Dispatcher; 

module.exports = new Dispatcher(); 

4)

"use strict" 

var keyMirror = require('fbjs/lib/keyMirror'); 

module.exports = keyMirror({ 
    RECEIVED_ALL_SERVICES: null, 
}); 

答えて

0

フムファイルactionTypes.js、それは奇妙です。すべてが正しいように見えます。 store.jsaction.jsDispatcherが同じオブジェクトであることを確認できますか?

同じアクション/ストアの短い例を以下に示します。すべて正常に動作します(runを押し、コンソール出力を参照してください)。

var appDispatcher = new Flux.Dispatcher(); 
 

 
// This code should be our action 
 
function receivedAllServices() { 
 
    appDispatcher.dispatch({ 
 
    actionType: 'RECEIVED_ALL_SERVICES', 
 
    services: ['serv1','serv2'], 
 
    }); 
 
    console.log('Done'); 
 
} 
 

 

 
// This code should be our store 
 
appDispatcher.register(action => { 
 
    console.log('action', action); 
 
    switch(action.actionType){ 
 
    case 'RECEIVED_ALL_SERVICES': 
 
     //debugger; 
 
     // AuthorStore.emitChange(); 
 
     console.log('AuthorStore.emitChange'); 
 
     break; 
 
    } 
 
}); 
 

 
// Call the action 
 
receivedAllServices();
<script src="https://cdnjs.cloudflare.com/ajax/libs/flux/2.1.1/Flux.js"></script>

関連する問題