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();
dispatch
및 register
함수가 하드 코딩되도록 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);
}