在将ReactDom.render()用于渲染元素时,如何在Provider中传递redux存储?

时间:2017-01-07 11:59:17

标签: reactjs react-redux

我有一个React类,它在react-redux的{​​{1}}内呈现。

Provider

因此,我可以在<Provider store={store}> <First/> </Provider> 内轻松使用react-redux的{​​{1}}和mapDispatchToProps

但是在mapStateToProps中,我正在呈现这样的另一个组件:

First

但在First组件中,我无法访问ReactDOM.render( React.createElement(Second), document.getElementById('preview-right') ); 提供的初始商店。我知道我可以将商店作为从Second组件的上下文中获取商店的道具传递,但我不想使用它,因为我想保持一致性并调用ProviderFirst直接在mapStateToProps内。{/ p>

我怎样才能实现它?

1 个答案:

答案 0 :(得分:0)

是否有特定原因要为子组件添加不同的容器?您可以调用react-dom的渲染来渲染SPA的最顶层根组件,它的子组件仍将呈现。您可以使用此根组件的子元素对组合和样式进行排序。

使用 connect ,嗯... 连接组件与绑定到其父母之一的商店

您可以使用React-Redux的connect方法在第一个子组件中使用maptStateToProps mapDispatchToProps

export default connect(mapStateToProps, mapDispatchToProps)(Second)

然后你可以在任何子组件中删除对react-dom的渲染方法的调用,只需要一个