我希望我的导航组件能够收听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…}
1 回答
I guess your store is wrong. store = createStore(rootReducer)? And forget to connect component ?