2016-10-02 6 views
0

첫 반동 기본 응용 프로그램을 구축 중입니다. 필자는 React 응용 프로그램을 작성하고 Flux MVC 패턴을 사용합니다. 필자는 Flux를 React Native 프로젝트에 통합했지만 dispatcher의 register 함수가 완전히 응답하지 않는 것 같습니다.React Native + Flux, 응답없는 디스패처

Actions.js

import AppConstants from '../constants'; 
import AppDispatcher from '../dispatcher'; 

export default { 
    setUser (user) { 
     AppDispatcher.dispatch({ 
      actionType: AppConstants.SET_USER, 
      user: user 
     }) 
    } 
} 

Store.js

import AppDispatcher from '../dispatcher'; 
import AppConstants from '../constants'; 
import assign from 'object-assign'; 
import { EventEmitter } from 'events'; 

const CHANGE_EVENT = 'change'; 

const AppStore = assign({}, EventEmitter.prototype, { 

    emitChange() { 
     this.emit(CHANGE_EVENT); 
    }, 

    addChangeListener (callback) { 
     this.on(CHANGE_EVENT, callback); 
    }, 

    removeChangeListener (callback) { 
     this.removeListener(CHANGE_EVENT, callback); 
    }, 

    dispatcherIndex: register(function (action) { 
     console.log(action); // <-- No response 
    }) 

}); 

export default AppStore; 

Dispatcher.js

import { Dispatcher } from 'flux'; 
module.exports = new Dispatcher(); 

dispatchregister 함수가 하드 코딩되도록 Dispatcher.js 파일을 다시 작성해 보았습니다. dispatch()에서 응답을 받았지만 결코 register()에서 응답을받지 못했습니다.

Dispatcher2.js

import { Dispatcher } from 'flux'; 

const flux = new Dispatcher(); 

export function register (callback) { 
    console.log('event!'); 
    return flux.register(callback); 
} 

export function dispatch (action) { 
    console.log(action); 
    flux.dispatch(action); 
} 

답변

0

은이 문서를 통해 이동합니다. 나는 당신의 코드에 대해서 모른다. 그러나 이런 방식으로 우리는 플럭스를 사용할 수있다. http://fluxxor.com/. 이것은 매우 간단하고 사용하기 쉽습니다. 이것이 귀하의 질문에 도움이된다면 답을 받아 들여주십시오.

관련 문제