javascript - 'react-router-dom' 的链接不起作用?

标签 javascript react-router react-router-dom

这是我的根组件中的代码:

<BrowserRouter>
  <Route path="/(:filter)" component={App}/>
</BrowserRouter>

这是我的页脚组件中使用 FilterLink 组件的代码

const Footer = () => (
  <p>
    Show:
    {" "}
    <FilterLink filter="all"> 
      All 
    </FilterLink>
    {", "}
    <FilterLink filter="active">
      Active
    </FilterLink>
    {", "}
    <FilterLink filter="completed">
      Completed
    </FilterLink>
  </p>
);

现在这是我的 FilterLink 中的代码,它使用来自“react-router-dom”的链接不起作用

import { Link } from 'react-router-dom';

const FilterLink = ({ filter, children }) => (
  <Link 
    to={ filter === 'all' ? '' : filter }
    activeStyle={{
      textDecoration: 'none',
      color: 'black'
    }}
  >
  {children}
  </Link>
);

我找不到该错误,因为它没有抛出任何错误,但只是导致我的应用程序在我应用此使用 Link 的代码后不渲染任何内容。帮忙?

最佳答案

我也遇到过同样的问题。这是因为可选参数的语法发生了变化。

/(:filter) 更改为 /:filter?

这里是使用react-router v4的指南: https://redux.js.org/docs/advanced/UsageWithReactRouter.html#connecting-react-router-with-redux-app

我在这个例子中还遇到了另一个问题。 NavLink 中缺少 exact 属性,因此如果您单击 FilterLink“已完成”或“事件”,那么您仍然拥有事件的“全部”。

关于javascript - 'react-router-dom' 的链接不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44455206/

相关文章:

javascript - 生成字符串的所有辅音

javascript - ReactJS HREF 导致状态丢失

javascript - Uncaught ReferenceError : ContainerPanel is not defined

javascript - 使用 Raphael 在 javascript 中处理 "drop"事件

reactjs - React 中的分页与 REST API

javascript - React-router:改变 url 但不改变显示的组件

reactjs - React-router-dom History.goBack() 在 Firefox 和 Safari 上不起作用

javascript - React 不将 props 传递给 child

reactjs - 条件路由在 React Router 中不起作用

javascript - 使用 jQuery 验证 keyup 上的表单输入