Почему компоненты при монтаже не используют синглтон существующего магазина с обратным холодильником?

Я использую рельсы реагирования для рендеринга внешнего интерфейса сервера.

Я чувствую, что мои магазины Reflux создаются, но не используются повторно. Я знаю, что каждый раз, когда я перезагружаю страницу в разделе "Разработка и производство", init() функция в моем UserStore называется.

Согласно документации

во время монтирования эти компоненты будут либо создавать экземпляр синглтона класса (если это еще не сделано), либо использовать существующий синглтон (если это было сделано).

Я не уверен, как проверить UserStore.singleton либо.

import Reflux from 'reflux';
var triggerablesMixin = require('reflux-triggerable-mixin')(Reflux);
import UserActions from '../actions/UserActions';

const UserStore = Reflux.createStore({
  mixins: [triggerablesMixin],
  listenables: UserActions,
  triggerables:[
    'onUserSignUpCompleted',
    'onUserSignUpFailed',
    'onUserSignInCompleted',
    'onUserSignInFailed',
    'onUserSignOutCompleted',
    'onUserSignOutFailed',
    'onUserPasswordResetCompleted',
    'onUserPasswordResetFailed',
    'onUserGetMeCompleted',
    'onUserGetMeFailed',
    'onUserPutMeCompleted',
    'onUserPutMeFailed',
    'onUserPutCompleted',
    'onUserPutFailed',
  ],

  getDefaultUserData() {
    return {
      status: "",
      user_message: "",
      user: {
        id: null,
        name: null,
        email: null,
        tel: null,
        tel_country_code: null,
      }
    };
  },

  init() {
    this.data = this.getDefaultUserData();
    this.initialLogin();
  },

  getInitialState() {
    return this.data;
  },

  initialLogin() {
    UserActions.signIn({});
  },

  // without listenables
  // we would write this.listenTo(UserActions.signUp.complete, onUserSignUpCompleted)
  // in addition to the code below
  onSignUpCompleted(res) {
    this.data = res.body;
    this.onUserSignUpCompleted.trigger(this.data);
  },
  onSignUpFailed(res) {
    this.data = res.body;
    this.onUserSignUpFailed.trigger(this.data);
  },
  // we could also listen to
  // onSignIn
  // onSignIn() {
  //   debugger
  // },
  onSignInCompleted(res) {
    this.data = res.body;
    this.onUserSignInCompleted.trigger(this.data);
    this.trigger(this.data);
  },

0 ответов

Другие вопросы по тегам