我正在使用react-router-dom
。在我的代码中,NavLink
无法应用activeStyle
或activeClassName
甚至在页面加载/重新加载时也无法应用。我已经嵌套了路由,但没有使用redux。
示例代码:Stackblitz
react-router-dom版本:4.3.1
index.js :
render() {
return (
<div>
<Router>
<Hello>
<Route path="/child-a" component={ChildA} />
<Route path="/child-b" component={ChildB} />
</Hello>
</Router>
</div>
);
}
hello.js:
render() {
return (
<div>
<h5>
<NavLink
to="child-a"
activeStyle={{ color:'red' }}
exact
>child-a</NavLink>
</h5>
<h5>
<NavLink
to="child-b"
activeStyle={{ color:'red' }}
exact
>child-b</NavLink>
</h5>
<div>
<div><h2>Hello</h2></div>
{this.props.children}
</div>
</div>
);
}
答案 0 :(得分:1)
尝试在to
属性前加上斜杠。
将 hello.js 更改为:
render() {
return (
<div>
<h5>
<NavLink
to="/child-a"
activeStyle={{ color:'red' }}
exact
>child-a</NavLink>
</h5>
<h5>
<NavLink
to="/child-b"
activeStyle={{ color:'red' }}
exact
>child-b</NavLink>
</h5>
<div>
<div><h2>Hello</h2></div>
{this.props.children}
</div>
</div>
);
}
似乎为我工作!