这是我认为不正确和多余的代码:
<BrowserRouter>
<Route exact={true} path="/" component={App}/>
<Route path="/:filter" component={App}/>
</BrowserRouter>
我认为 exact={true} 是多余的,因为我可以在以前的 react 路由器版本中简单地执行 path="/(:filter)" ?我不想使用 history.push :(
这就是我在页脚组件中使用 NavLink 的方式:
const Footer = () => (
<p>
Show:
{" "}
<FilterLink filter="all">
All
</FilterLink>
{", "}
<FilterLink filter="active">
Active
</FilterLink>
{", "}
<FilterLink filter="completed">
Completed
</FilterLink>
</p>
);
和我的 FilterLink:
const FilterLink = ({ filter, children }) => (
<NavLink
to={ filter === 'all' ? '' : filter }
activeStyle={{
textDecoration: 'none',
color: 'red'
}}
>
{children}
</NavLink>
);
路径在变,例如:localhost:3000/active 但是样式没有影响,但是影响all? 当我在 localhost:3000/?