javascript - React - URL 已更新,但页面未呈现
问题描述
我正在学习关于 React 的初学者课程。导航。栏有两个选项——关于、主页。单击该栏时,网址会更新,但页面保持不变并且导航保持不变。我没有错误。
应用程序.js
import React from 'react';
import HomePage from './HomePage';
import About from './About';
import Header from './common/Header';
function App() {
function getPage() {
const route = window.location.pathname;
if (route === "about") return <About />;
console.log("hi");
return <HomePage />;
}
return(
<div className="container-fluid">
<Header>
{ getPage() }
</Header>
</div>
);
}
export default App;
页眉.js
import React from 'react';
//to navigate across the website
function Header(){
return (
<nav>
<a href="/"> Home </a> | <a href="/about"> About </a>
</nav>
);
}
export default Header;
index.js
import "bootstrap/dist/css/bootstrap.min.css";
import React from "react";
import {render} from "react-dom";
import App from "./components/App";
render(<App />, document.getElementById("root"));
关于.js
import React from 'react';
class About extends React.Component{
render (){
return(
<>
<h1> About </h1>
<p> This is the About Page </p>
</>
);
}
}
export default About;
主页.js
import React from "react";
import 'bootstrap/dist/css/bootstrap.min.css';
function HomePage(){
return(
<div className="jumbotron">
<h1>
Welcome
</h1>
<p>
This is my first React Project
</p>
</div>
);
}
export default HomePage;
页面没有变化,只有 URL 得到更新。
我在 SO 上尝试了很多解决方案,但到目前为止都没有。
解决方案
我猜它总是显示<HomePage />
组件?
那是因为window.location.pathname
返回带有前导斜杠的路径。所以route === "about"
永远都是假的。你需要检查一下route === "/about"
。
推荐阅读
- spring - 获取 Mono 的结果以便将其传递到 JpaRepository 或另一个非反应类
- r - 在 dplyr 中运行函数会给出错误的输出
- python - apply() 方法:通过第二列的总和对第一列进行归一化
- c++ - Boost - 类没有名为“序列化”的成员(抽象类)?
- javascript - 获取函数外变量的值
- c# - C#如何检查事件是否异步执行
- ruby-on-rails - 如何在 image_tag rails 中显示带有 falback url 的 webp 图像
- php - 如何将值向上移动到键,并删除键。数组操作
- javascript - 在 JS 中重命名对象键
- docker - 如何将 MySQL 数据库部署到 Docker?