Reactjs 反应路由器不';如果组件具有MapStateTrops,则不应用NavLink活动类

Reactjs 反应路由器不';如果组件具有MapStateTrops,则不应用NavLink活动类,reactjs,react-redux,react-router,Reactjs,React Redux,React Router,我将react router与NavLink一起使用,因为我想为活动链接设置样式。这是菜单组件: import React from 'react'; import {NavLink} from 'react-router-dom'; export default class Menu extends React.Component{ render(){ return ( <nav> <NavLink className="na

我将
react router
NavLink
一起使用,因为我想为活动链接设置样式。这是菜单组件:

import React from 'react';
import {NavLink} from 'react-router-dom';

export default class Menu extends React.Component{
render(){
    return (
        <nav>
            <NavLink className="nav-link" to="/"
                activeClassName="active" exact={true}>Home</NavLink>

            <NavLink className="nav-link to="/messages"
                activeClassName="active" exact={true}>Messages</NavLink>
我有
RouterApp
其中包括
标题和页面组件:

....
const store = configureStore();


const AppRouter = ({store}) => (
    <Provider store={store}>
        <BrowserRouter>
            <div>
                <Header/>
                <Switch>
                    <Route path="/" component={HomePage} exact={true} />
                    <Route path="/messages" component={MessagesPage} exact={true} />
                    <Route component={NotFoundPage} />
                </Switch>
           </div>
       </BrowserRouter>
   </Provider>
);
。。。。
const store=configureStore();
const AppRouter=({store})=>(
);
当我在浏览器中访问根路由时,主链接是一个类
活动的
,组件是
主页

如果我单击messages链接,则会呈现正确的组件-
MessagesPage
,但home链接将保留在
activeClass
中,而
NavLink
中的消息则不在其中


如果我从
Header
组件中删除
mapStateToProps
,一切正常,但有了它,活动类不会应用于当前链接。

Header
组件作为默认
路由
或使用
路由器
HOC,组件导航链接将正常工作

<Route component={Header}/>

在Header comp中,我看到一个
mapDispatchToProps
(未作为要连接的第二个参数传入)和一个
MapStateTrops
函数,但正在传入。。。此外,所有的要求都是不必要的,但他们不会真的伤害。。。否则我看没问题…嗨,谢谢。我已经编辑了这个问题。只是被抄错了东西。
<Route component={Header}/>
export default withRouter(connect(mapStateToProps)(Header));