【发布时间】:2020-03-30 04:29:23
【问题描述】:
在 React(v16.13.1) 中,网址正在更改,但页面未加载。
我在堆栈中发现了类似的问题 ReactJS - React Router not changing component but url is changing 和 React Router URL Change but Not Component,我尝试了不同的方式,但没有一个对我有帮助。
这可能是一个小错误,请帮助纠正这个问题。
我的代码如下:
App.js 文件
import React, { Component } from "react";
import { BrowserRouter as Router, Route,Switch,Redirect } from "react-router-dom";
import TopNav from "./components/Navbar/TopNav";
import SideNav from "./components/Navbar/SideNav";
import Dashboard from "./components/Dashboard";
import Analytics from "./components/Analytics";
import ToDo from "./components/ToDo";
class App extends React.Component {
render() {
return (
<div>
<TopNav />
<SideNav />
<Router>
<Switch>
<Route exact path="/">
<Dashboard />
</Route>
<Route exact path="/analytics">
<Analytics />
</Route>
{/* <Route exact path="/analytics" component={Analytics}></Route> */}
<Route exact path="/todo">
<ToDo />
</Route>
<Redirect to="/"></Redirect>
</Switch>
</Router>
</div>
);
}
}
export default App;
SideNav.js 页面如下:
import React from "react";
import { BrowserRouter as Router, Link } from "react-router-dom";
class SideNav extends React.Component {
render() {
return (
<div className="sidebar-wrapper">
<div className="sidebar-container">
<Router>
<ul className="sidebar-menu">
<li className="active">
<i className="fa fa-cubes"></i>
<Link className="link" to="/">
Dashboard
</Link>
</li>
<li>
<i className="fa fa-pie-chart"></i>
<Link className="link" to="/analytics">
Analytics
</Link>
</li>
<li>
<i className="fa fa-medkit"></i>
<Link className="link" to="/todo">
What to do?
</Link>
</li>
</ul>
</Router>
</div>
</div>
);
}
}
export default SideNav;
提前致谢!
【问题讨论】:
-
您能否尝试在
ul标记后添加行<Route path="/analytics" component={Analytics} />(假设您的分析组件名称为Analytics)并检查它是否适用于分析.. -
我没有看到任何明显的错误,你的代码。您可以添加一个 sn-p 来重现您的问题吗?
-
@ManirajMurugan,它不工作。谢谢
标签: javascript reactjs react-router