我将看到有关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组件外部初始化的商店?