reactjs - 反应路由器错误
问题描述
反应路由有问题。试图在我的应用程序的个人资料页面中制作标签,但我遇到了一些问题......
它同时工作和窃听..
当我点击“仪表板”选项卡时,网址如下所示:'/profile/dashboard',当我刷新页面时,内容从屏幕上消失,只是缩放:
代码:
const App = () => {
return (
<BrowserRouter>
<Switch>
<Route path={'/profile'}
render={(props) => (
<ProfilePage {...props}/>
)}/>
</Switch>
</BrowserRouter>
);
}
const ProfilePage = () => {
return (
<>
<ProfileHeader />
<Sidebar />
<div className="content">
<Switch>
<Route
path={'profile/dashboard'}
render={(props) => (
<Dashboard {...props}/>
)} />
</Switch>
</div>
</>
);
};
const Sidebar = () => {
return (
<aside className="profile__aside">
<nav className="profile__menu">
<Link to="/profile/dashboard" className="profile__tab"><i className="fas fa-chart-line"></i><span className="profile__title">Dashboard</span></Link>
<Link className="profile__tab"><i className="fas fa-flask"></i><span className="profile__title">Lab Results</span></Link>
<Link className="profile__tab"><i className="fas fa-box"></i><span className="profile__title">Order</span></Link>
<Link className="profile__tab"><i className="fas fa-cogs"></i><span className="profile__title">Settings</span></Link>
</nav>
</aside>
)
}
解决方案
在配置文件组件从配置文件/仪表板更改路径到/仪表板,您可以从下面复制 ProfilePage 组件
const ProfilePage = () => {
return (
<>
<ProfileHeader />
<Sidebar />
<div className="content">
<Switch>
<Route
path={'/dashboard'}
render={(props) => (
<Dashboard {...props}/>
)} />
</Switch>
</div>
</>
);
};
推荐阅读
- apache-kafka - 我可以使用 Lambda 函数中的 AWS MSK kafka 主题吗?
- python - 如何创建 to_sql create_engine
- python - 熊猫 | 替代 lambda 函数 => .loc[row_indexer,col_indexer] = value
- azure-devops - azure-devops 管道测试通过报告使用错误的数学
- angular - 来自 Font Awesome 的一些图标
- javascript - 异步等待不会停止
- javascript - 将数据插入到 2 个单独的 mySQL 表中
- java - 我需要将活动“暂停”以使搜索功能正常工作
- xpath - 如何从 Web 浏览器开发人员控制台复制 HTML XPath 以与 HtmlAgilityPack 很好地配合使用?
- python-3.x - Keras 3D 输入到 1D 输出