Инициализация хранилища внутри конструктора класса против объявления класса - PullRequest
0 голосов
/ 28 сентября 2018

Я посмотрю много примеров для Redux, Mobx и других библиотек, таких как:

const store = new Store();

class App extends Component {
  render() {
    return <Provider store={store}>
      { /* ... */ }
    </Provider>
  }
}

Есть ли причина, почему вместо этого нельзя / не следует делать:

class App extends Component {
  constructor(props) {
    super(props);
    this.store = new Store();
  }

  render() {
    return <Provider store={this.store}>
      { /* ... */ }
    </Provider>
  }
}

Я хочу передать исходные данные с сервера в хранилище.Я использую Rails и React-Rails, поэтому я могу передать initialData prop в App и сделать следующее:

constructor(props) {
  super(props);
  this.store = new Store(props.initialData);
}

Но я заметил, что в примерах SSR исходные данные установлены на window.Это только для размещения магазина, который был инициализирован вне компонента React?

...