如何将Redux连接到父组件下面几层的子组件?我无法弄清楚如何将store
传递给道具而不会爆炸。
我没有使用IronRouter,而是使用Redux 3和React 0.13。这是一个例子:
const SearchBar = React.createClass({
render() {
return <div> {this.props.text} </div>;
}
});
function mapStateToProps(state) {
return {text: state.search.text};
}
_SearchBar = connect(mapStateToProps)(SearchBar);
无法在“Connect(SearchBar)”的上下文或道具中找到“store”。将根组件包装在
<Provider>
中,或者将“store”显式传递为“Connect(SearchBar)”的支柱。
答案 0 :(得分:4)
您需要将商店一直向下传递到中间组件,或者如消息所示,利用应用顶部的<Provider>
组件自动将其传递下来。
答案 1 :(得分:2)
1)将您的根组件包裹在<Provider store={store}></Provider>
:
class Root extends React.Component {
render() {
return (
<Provider store={store}>
<YourAppComponent />
</Provider>
)
}
}
Provider
通过React&#39; context传递商店。
2)您的connect()
现在应该可以使用:),但前提是所有连接的组件都是<YourAppComponent />
的后代