我希望我的导航组件能够收听redux存储,以便在用户登录时将登录按钮更改为“注销”按钮,但导航组件无法访问状态
我是React的新手,如果我需要提供更多信息,请告诉我
在app.jsx中我有:
ReactDOM.render(
<Provider store={store}>
<Router history={hashHistory}>
<Route path="/" component={Main}>
<IndexRoute component={Menu}/>
<Route path="about" component={About}/>
<Route path="item/:id" component={Item}/>
<Route path="login" component={Login}/>
</Route>
</Router>
</Provider>,
document.getElementById('app')
);
在Main中,我将子项和Navigation渲染为:
var Main = (props) => {
return (
<div>
<Navigation/>
<div className="container">
{props.children}
</div>
</div>
);
}
在我的所有组件中,我可以通过this.props访问我的redux商店/州,导航除外。
当我在导航组件中记录this.props时,我得到:
Object {dispatch: function}
但在Menu组件中我得到:
Object {history: Object, location: Object, params: Object, route: Object, routeParams: Object…}
答案 0 :(得分:0)
我猜你的商店错了。 store = createStore(rootReducer)?忘了连接组件?