javascript - 反应组件或元素未显示在路由器中
问题描述
所以我试图用 React js 制作一个带有主页和登录页面(将来可能会更多)的网站。
我有两条路线,一条显示登录屏幕,另一条显示主屏幕。
现在的问题是 Login 组件显示,但 MainScreen 没有。(当我在浏览器的 URL 栏中粘贴“http://localhost:3000/home/”时,它仍然显示登录组件)
这是我在 App.js 中的代码:
return (
<div className="App">
<Router>
<Switch>
<Route path="/" >
<LoginScreen />
</Route>
<Route path="/home" >
<MainScreen />
</Route>
</Switch>
</Router>
</div>
);
解决方案
因为你的第一次溃败的条件正在被满足和呈现。
添加 EXACT ,它应该可以工作。
return (
<div className="App">
<Router>
<Switch>
<Route exact path="/" >
<LoginScreen />
</Route>
<Route exact path="/home" >
<MainScreen />
</Route>
</Switch>
</Router>
</div>
);
推荐阅读
- security - 推送到远程之前的 Github 扫描 repo
- javascript - 类型上不存在属性,并且参数隐式具有任何类型
- javascript - 引用相关单元格的颜色
- reactjs - sudo npm run start 管理员权限错误?
- c# - C# - 如何在控制台应用程序上显示进程进度百分比并打印更改字符串?
- javascript - Selenium WebDriver - 单击 Javascript 按钮
- laravel - 在 Laravel 中提交表单时处理日期时间字段
- blender - EEVEE 没有按照我想要的方式渲染我的图像,程序生成的阴影以紫色渲染
- javascript - 在异步函数中使用查询
- arrays - 将 char 数组与 KeyEvent 进行比较时获取 ArrayIndexOutOfBoundsException