Ответы пользователя по тегу Flux
  • Как сначала отправлять событие из view в store там с ним работать и затем тригерить?

    @fayster
    Когда число приходит в стор, то записываем сумму в переменную и делаем emit, в то время другая view получит уже новое значение, например:
    class Store extends EventEmitter {
        constructor() {
            super();
    
            this._dispatchToken = dispatcher.register(this._registerToActions.bind(this));
          
            this._id = 1;
        }
    
        _registerToActions(action) {
            switch(action.actionType) {
                case GENERATE_NEW_ID:
                    this._id += action.id;
                    this.emit(GENERATE_NEW_ID);
                    break;
                default:
                    break;
            }
            return true;
        }
    
        get id() {
            return this._id;
        }
    }
    
    class Listener extends React.Component {
        constructor() {
            super();
    
            this.go = this.go.bind(this);
    
            Store.on(GENERATE_NEW_ID, this.go);
    
            this.state = {
                id: Store.id
            };
        }
    
        go() {
            this.setState({
                id: Store.id
            })
        }
    }
    Ответ написан
    Комментировать