我有一个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
组件的上下文中获取商店的道具传递,但我不想使用它,因为我想保持一致性并调用Provider
和First
直接在mapStateToProps
内。{/ p>
我怎样才能实现它?
答案 0 :(得分:0)
是否有特定原因要为子组件添加不同的容器?您可以调用react-dom的渲染来渲染SPA的最顶层根组件,它的子组件仍将呈现。您可以使用此根组件的子元素对组合和样式进行排序。
使用 connect
,嗯... 连接组件与绑定到其父母之一的商店
您可以使用React-Redux的connect
方法在第一个子组件中使用maptStateToProps
和 mapDispatchToProps
。
export default connect(mapStateToProps, mapDispatchToProps)(Second)
然后你可以在任何子组件中删除对react-dom的渲染方法的调用,只需要一个