gpt4 book ai didi

javascript - 使用多个组件重用导航栏组件

转载 作者:行者123 更新时间:2023-12-04 07:47:48 25 4
gpt4 key购买 nike

我有一个简单的问题。使用 react 路由器使用具有多个组件的导航栏的最佳方法是什么?让我展示一下代码,这样您就可以理解我想说的内容。

import React from "react";
import "./App.css";

import {
BrowserRouter as Router,
Switch,
Route,
Redirect
} from "react-router-dom";

import Auth from "./website/Auth/Auth";
import SocialMedia from "./website/SocialMedia/SocialMedia";
import SingleUser from "./website/SingleUser/SingleUser";
import Search from "./website/Search/Search";
import SinglePhoto from "./website/SinglePhoto/SinglePhoto";

import Navbar from "./components/Navbar/Navbar";

function App() {
const logIn = JSON.parse(localStorage.getItem("token"));

return (
<Router>
<Switch>
<Route exact path="/" component={Auth}>
{logIn ? <Redirect to={`/profile/${logIn.data.id}`} /> : <Auth />}
</Route>
<Navbar>
<Route exact path="/profile/:id" component={SingleUser} />
<Route exact path="/socialmedia" component={SocialMedia} />
<Route exact path="socialmedia/search" component={Search} />
<Route exact path="socialmedia/photo/:id" component={SinglePhoto} />
</Navbar>
</Switch>
</Router>
);
}

export default App;

所以我必须重复使用我的 Navbar组件,我尝试使用 <Navbar /> ,然后是下面的其他路线,但这不起作用,当我输入 <Navbar> </Navbar> 时这有效并且其他组件将出现,但这是我重用我的 Navbar 的方式成分?
谢谢你的时间 !!

最佳答案

import React from "react";
import "./App.css";

import {
BrowserRouter as Router,
Switch,
Route,
Redirect
} from "react-router-dom";

import Auth from "./website/Auth/Auth";
import SocialMedia from "./website/SocialMedia/SocialMedia";
import SingleUser from "./website/SingleUser/SingleUser";
import Search from "./website/Search/Search";
import SinglePhoto from "./website/SinglePhoto/SinglePhoto";

import Navbar from "./components/Navbar/Navbar";

function App() {
const logIn = JSON.parse(localStorage.getItem("token"));

return (
<Router>
<Switch>
<Route exact path="/" component={Auth}>
{logIn ? <Redirect to={`/profile/${logIn.data.id}`} /> : <Auth />}
</Route>
<Route Component={Navbar}>
<Route exact path="/profile/:id" component={SingleUser} />
<Route exact path="/socialmedia" component={SocialMedia} />
<Route exact path="socialmedia/search" component={Search} />
<Route exact path="socialmedia/photo/:id" component={SinglePhoto} />
</Route>
</Switch>
</Router>
);
}

export default App;
尝试这个!

关于javascript - 使用多个组件重用导航栏组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67134201/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com