xoma2
@xoma2
Программист

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

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

У меня так получается что событие отправляется (отправляю 1), приходит в store, там я делаю (1 + 1 = 2). А потом летит в другую view и в нее почему то приходит снова 1
  • Вопрос задан
  • 245 просмотров
Решения вопроса 1
@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
        })
    }
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы