检查路由是否有效反应路由器

时间:2020-08-14 08:58:27

标签: reactjs react-router react-router-dom

我正在使用React Router v5,并且想检查我的路由以确保它们有效,因为大概显示无效链接时我的404页面未触发,因为即使没有项目可显示,该路由仍然匹配该路线无效。例如example.com/cat1/product1有效,而example.com/cat1/produc1无效。

对于类别example.com/cat1有效和example.com/ca1无效,相同。

当前,它仅显示无效链接的内容,而不是我的NotFound组件。

如何检查每个链接是否有效以及是否不显示我的NotFound组件?

  <Switch>
            <Route exact path="/">
              <Home categories={categories} products={products} />
            </Route>
            <Route exact path="/product-categories">
              <Products categories={categories} />
            </Route>
            <Route exact path="/delivery">
              <Delivery categories={categories} />
            </Route>
            <Route exact path="/terms">
              <Terms categories={categories} />
            </Route>
            <Route exact path="/privacy">
              <Privacy categories={categories} />
            </Route>
            <Route exact path="/returns">
              <Returns categories={categories} />
            </Route>
            <Route exact path="/about">
              <About categories={categories} />
            </Route>
            <Route path="/sitemap.xml" onEnter={reload}/>
            <Route path="/robots.txt" onEnter={reload}/>
            <Route exact path="/:catSlug">
              <ProductsList categories={categories} products={products} userCountry={userCountry}/>
            </Route>
            <Route exact path="/:catSlug/:productSlug">
              <Product alertIsVisble={() => dispatch(allActions.showAlert())} categories={categories} products={products} userCountry={userCountry} />
            </Route>
            <Route>
              <NotFound categories={categories} />
            </Route>
          </Switch>

0 个答案:

没有答案
相关问题