首页 > 解决方案 > React-router v4 可选参数

问题描述

我想使用 react-router v4.2.0 创建一个可选参数 url

我希望网址像"/car-rental-service-in-manhattan-new-york" || "/car-rental-service-in-new-york";

两个 url 都应该呈现页面。这里曼​​哈顿是可选的。我正在尝试类似 path: 的路径"/:keywords-in(-: boroughs)?-:city"

标签: javascriptregexreactjsreact-routerreact-router-v4

解决方案


试试这样

let city = window.location.pathname
    .replace('/car-rental-service-in-', '')
    .replace('-new-york', '');

{city ? (
  <Route
    path={'/car-rental-service-in-:city-new-york'}
    exact
    component={PageNotFound}
  />
) : (
  <Route
    path={'/car-rental-service-in--new-york'}
    exact
    component={PageNotFound}
  />
)}

推荐阅读