Reactjs 反应路由器basename工作不正常
我使用此路由器创建了一个小型react应用程序:Reactjs 反应路由器basename工作不正常,reactjs,react-router-v4,no-match,Reactjs,React Router V4,No Match,我使用此路由器创建了一个小型react应用程序: <BrowserRouter basename='/hotel/'> <Routes /> </BrowserRouter> 以下是路线: <Switch> <Layout path="/:agency" component={Home} /> <Layout path="/:agency/list" component={List} />
<BrowserRouter basename='/hotel/'>
<Routes />
</BrowserRouter>
以下是路线:
<Switch>
<Layout path="/:agency" component={Home} />
<Layout path="/:agency/list" component={List} />
<Layout path="/:agency/detail/:id" component={Detail} />
<Route component={NoMatch} />
</Switch>
当我尝试点击一条没有basename的路线时,控制台上会出现以下警告:
警告:您正试图在URL路径为的页面上使用basename
不以basename开头。以“/4123”开头的预期路径
“/酒店”
当我希望获得nomatch路由时……有没有办法获得nomatch路由而不是查看我的应用程序?
basename
将路由器的应用程序仅限于以/hotel
开头的路由。您需要的是在根(“/”)级别定义NoMatch
,省略basename
。大概是这样的:
...