reactjs - React Router 3,与查询参数完全匹配

标签 reactjs react-router

在 React Router 3 中,如何精确匹配包含查询参数的路由?

类似这样的事情,

<Route path="about?qs1=:qs&qs2=:qs2" component={About} />

最佳答案

从这个意义上说,查询参数不是路由的一部分。您需要在组件内检查它们,例如如下所示:

class About extends React.Component {
  render() {
    return(
      <div>
        {this.props.location.query.qs1 ? 'Correct route!' : 'Invalid route!'}
      </div>
    );
  }
}

您还可以检查 componentDidMount 中的查询参数并将用户重定向到不同的路由(例如 404)。 Read more about Route Matching in the official docs .

关于reactjs - React Router 3,与查询参数完全匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41334284/

相关文章:

javascript - 在它之前创建带有一些文本的动态链接

reactjs - 如何在get请求期间显示axios的进度(不是下载或上传)

reactjs - `eval()` ing 带有 JSX 语法的代码

javascript - Mobx 存储未注入(inject)

javascript - React Router.match 在尝试服务器渲染 React 元素时没有回调参数

javascript - 正确 react 路由器侧边栏路由,但不显示顶部菜单下的组件

javascript - 未指定所需上下文 `router`。查看 `RoutingContext`的render方法

javascript - Reactjs 渲染两次

javascript - 如何在react中使用其他js插件?

javascript - react : get data after form submit using async/await