【发布时间】:2020-03-03 02:37:21
【问题描述】:
您好,我正在尝试使用 react 路由器进行多条路由,但没有成功 基本上我的布局会有不同的内容 还有一个内容不同的仪表板,但没有成功
const HomeContent = () => {
return (
<div style={{ background: 'red', width: '100%', height: '400px' }}>
Home
</div>
);
};
const AboutContent = () => {
return (
<div style={{ background: 'blue', width: '100%', height: '400px' }}>
About
</div>
);
};
const DashBoardNav = () => {
return (
<div style={{ background: 'red', width: '100%', height: '400px' }}>
DashBoardNav
<ul>
<li>Home</li>
<li>About</li>
</ul>
</div>
);
};
const MainRoutes = () => {
const dispatch = useDispatch();
const { popUpIsOpen } = useSelector(RootState => RootState.togglePopUp);
const { sideIsOpen } = useSelector(RootState => RootState.toggleSide);
return (
<GlobalContainer>
<GlobalStyle />
<Overlay
onClick={() =>
popUpIsOpen ? dispatch(toggle()) : dispatch(toggleSide())
}
pop={popUpIsOpen ? popUpIsOpen : sideIsOpen}
/>
<Routes>
<Route path="/" element={<Header />} />
<Route path="dashboard" element={<DashBoardNav />} />
</Routes>
<Content>
<Routes>
<Route exact path="/" element={<HomeContent />}>
<Route path="about" element={<AboutContent />} />
</Route>
<Route path="dashboard" element={<> DashBoard </>}>
<Route path="about" element={<> about </>} />
</Route>
</Routes>
</Content>
<Footer />
</GlobalContainer>
);
};
export default MainRoutes;
但我收到以下错误 我的导航栏在我的“/”中呈现正常,我的 Home 组件是这样的:
当我尝试输入我的“/ about”路径时,我的导航栏没有出现,我的 div ABOUT(组件:AboutContent) 两者都没有:
基本上我需要多条路线
我有两个导航栏(一个来自装载页面,另一个来自仪表板)
内容一样
【问题讨论】:
-
您好@Mykon Spt,您需要将 path="/" 替换为 path="/about" 因为您需要设置组件的确切路径。让我知道它是否对您有帮助。