javascript - 为什么我可以在 locahost 之后去任何路线,并获得我的主页?
问题描述
我正在创建一个 ReactJs 应用程序,该应用程序使用 REST API 获取 pokemon 统计信息、名称和图片,但是,当我尝试使用 React Router 设置我的路由时,我能够导航到任何提供的路由,但我得到的是相同的我在 localhost:3000/ 之后请求的任何内容的主页
我在 GitHub 上托管了我的项目,请参考“ https://github.com/abhinav-anshul/Pokedex-A-collection-of-Pokemons ”
要小心,我从我的项目结构中删除了我的 Route.js 文件,以查看我是否能够访问任何链接,是的,我仍然可以访问 localhost:3000/ 之后的任何链接,例如“localhost:3000/doesnotexist” ",我仍然得到我的主页,即 "index.js"
// 这是我删除的 Route.js 文件,因为即使在“localhost:3000/pokemon”,我也会从“index.js”将相同的页面渲染到屏幕上
import ReactDOM from "react-dom";
import "./components/Navbar";
import { BrowserRouter, Route, Switch, Link, NavLink } from "react-router-dom";
import Navbar from "./components/Navbar";
import PokemonDetails from "./components/PokemonDetails";
const Route = () => (
<BrowserRouter>
<Switch>
<Route exact path="/" component={index} />
<Route path="/pokemon" component={PokemonDetails} />
</Switch>
</BrowserRouter>
);
export default Route;
解决方案
我认为您应该对主页使用“确切路径”。
<Route exact path="/" component={index} />
推荐阅读
- django - Django Admin format_html_join 不能与新行分隔
- java - 如何根据设备的分辨率更改样式?
- python-3.x - 将数组设置为特定的 mongoDB 条目
- angular - 类型错误:express__WEBPACK_IMPORTED_MODULE_1__ 未定义
- c++ - VSCode 只构建 main.cpp 文件而不是文件夹中的所有文件
- android - 存储访问框架 - 权限被拒绝问题,即使授予权限
- go - 无法更新复制元数据
不允许的方法 - python - Cronjob(Mac OS)不返回输出和空日志
- keyboardinterrupt - 键盘中断例程 Visual Studio C++ 控制台应用程序
- php - 仅使用 php 从 zip 文件中提取/解压缩特定文件