Javascript 预期路由不能与React路由器一起工作
我在其他项目中也做过类似的事情,但由于某些原因,它在我当前的项目中不起作用Javascript 预期路由不能与React路由器一起工作,javascript,reactjs,react-router-dom,Javascript,Reactjs,React Router Dom,我在其他项目中也做过类似的事情,但由于某些原因,它在我当前的项目中不起作用 <Switch> <Route path="" exact render={() => <div>home</div>} /> <Route path="/explore" render={() => <div>explore</div>} /> <Redirect to="/" /> </Switch
<Switch>
<Route path="" exact render={() => <div>home</div>} />
<Route path="/explore" render={() => <div>explore</div>} />
<Redirect to="/" />
</Switch>
我在什么地方犯了愚蠢的错误吗?
如果使用的是精确,则无需使用开关。它不起作用的原因是,第一条路由中的路径属性不能为空,它应该包含“/”
<Switch>
<Route path="" exact render={() => <div>home</div>} />
<Route path="/explore" render={() => <div>explore</div>} />
<Redirect to="/" />
</Switch>
主页}/>
浏览}/>
没有精确的
<Switch>
<Route path="/explore" render={() => <div>explore</div>} />
<Route path="" render={() => <div>home</div>} />
<Redirect to="/" />
</Switch>
浏览}/>
主页}/>
您遇到了什么错误?您没有解释发生了什么,您的意思是当您转到“/explore”?时,它没有显示“explore”?。另外,您是否将交换机包装在
标签中?如果是这样,你会使用什么类型的路由器?它在内存中吗?使用开关或精确。。不仅如此,这件事很快就爆发了。我所说的不起作用,是指行为不符合预期。我试过了,但也不起作用。我现在又试了一次,它工作正常。同样,在使用create react app重新创建整个应用程序之后。A再次测试,但开关中没有精确设置,它将只显示“home”。您仍然需要精确的/路由。不要忘记将您的路由封装在路由器(例如BrowserRouter)中。如果您使用交换机,则必须将它们按顺序排列。一旦找到第一个匹配项,交换机将退出。我已使用开关修改了我的响应。
<Switch>
<Route path="/explore" render={() => <div>explore</div>} />
<Route path="" render={() => <div>home</div>} />
<Redirect to="/" />
</Switch>