我正在将我的应用程序从React Router v3迁移到v4。
当我将Link
组件更改为NavLink
组件时,我注意到activeClassName
道具不再被添加。包含NavLink
的组件不是Route
组件的直接子组件,因此该组件不会重新呈现。当我使用withRouter
装饰组件时,会重新渲染组件并添加activeClassName
道具。这是故意的吗?还是我错过了任何事情?
简单地说:
class Container extends Component {
render() {
return (
<div>
<NavLink to='/path/to/page' activeClassName='active'>Click Me</NavLink>
</div>
);
}
}
export default Container;
..不起作用,除非我将其导出为:
export default withRouter(Container);