Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 预期路由不能与React路由器一起工作_Javascript_Reactjs_React Router Dom - Fatal编程技术网

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>