【发布时间】:2021-09-18 04:34:31
【问题描述】:
我在此链接 (https://notchy-cross.000webhostapp.com) 上有一个反应项目。 如果您向下滚动,您会看到一个名为(产品类别)的部分, https://i.stack.imgur.com/QDHh2.png 当您单击其中一个时,它会将您带到https://notchy-cross.000webhostapp.com/mugs 或https://notchy-cross.000webhostapp.com/vases。 但问题是,如果你点击上面的链接,它会给你 404 页面,如果你点击主页上的链接,它只会显示内容,(https://notchy-cross.000webhostapp.com),一旦你刷新页面,你就会得到 404 页面. 那为什么会这样呢??
App.js
import React from "react";
import { BrowserRouter as Router, Switch, Route } from "react-router-dom";
import "./App.css";
import Navbar from "./Components/Navbar";
import Home from "./Components/pages/Home";
import About from "./Components/pages/About";
import Shop from "./Components/pages/Shop";
import Contact from "./Components/pages/Contact";
import CategoryPage from "./Components/CategoryPage";
import ProductPage from "./Components/pages/ProductPage";
function App() {
return (
<Router>
<Navbar />
<Switch>
<Route exact path="/" component={Home} />
<Route path="/about" component={About} />
<Route path="/shop" component={Shop} />
<Route path="/contact" component={Contact} />
<Route path="/:to">
<CategoryPage />
</Route>
</Switch>
</Router>
);
}
export default App;
CategoryItem.js
import React, { Component } from "react";
import { Link } from "react-router-dom";
import "./CateItem.css";
class CateItem extends Component {
render() {
return (
<div className="col-12 col-md-4">
<Link to={`/${this.props.to}`}>
<div
className={`cricle text-center ${this.props.to
? this.props.to
: ""}`}
>
<div className="circle-desc">
<img src={`./images/${this.props.to}.png`} alt={this.props.to} />
<h6>{this.props.to.toUpperCase()}</h6>
</div>
</div>
</Link>
</div>
);
}
}
export default CateItem;
【问题讨论】:
-
要么使用 react-router 中的“HashRouter”。在你的根 index.js 中添加 hashrouter 或使用 webpack 或服务器将所有请求指向 /
标签: reactjs react-router