Инициализация хранилища внутри конструктора класса против объявления класса

Я посмотрю много примеров для 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 опора для Appи сделайте следующее:

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

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

0 ответов

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