Инициализация хранилища внутри конструктора класса против объявления класса
Я посмотрю много примеров для 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?