除非容器组件是<route>的子代或用Router

时间:2019-01-28 09:10:26

标签: javascript reactjs react-router

我正在将我的应用程序从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);

0 个答案:

没有答案