如果没有查询字符串,则重定向到404,react-router

时间:2017-06-21 09:53:48

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

我是使用react-router的初学者,也会做出反应。我有一个链接到'/ items'的路由,它取决于查询字符串ex。 'items?item_id = 156'并显示项目的信息。我让它工作就像那样,但我想显示404,如果用户只访问'/ items'没有查询字符串。

提前谢谢你们

2 个答案:

答案 0 :(得分:1)

在这种情况下,您必须使用wildcard匹配。你可以这样做:

import React from 'react';
import { Switch } from 'react-router';
import { BrowserRouter , Route ) from 'react-router-dom;
import NotFound from './NotFound'
import ItemPage from './ItemPage'

const routes = (    import NotFound from './NotFound'

               <BrowserRouter>
                  <Switch>
                     <Route path="*" component={NotFound}/>
                     <Route path="/items/:id/" component={ItemPage}/>
                  </Switch>
                </BrowserRouter>

               )

这假设您使用的是react-router v4。

答案 1 :(得分:0)

如果WITH selected_metadata AS ( IF (@Condition = TRUE) { -- Do not filter on metadata SELECT NULL; } ELSE { -- Find the matching metadata rows SELECT id FROM metadata WHERE field = @Filter } ) SELECT * FROM data WHERE ( -- Ignore the metadata filter selected_metadata IS NULL OR -- Filter on metadata data.metadataid IN (selected_metadata) ) ...more filters 无法解析,则可以进行重定向。例如:

item_id