我收到此警告,除了 App.js 中包含“默认页面内容}”的“/”之外,我看不到我的路线。我如何重写包含其他路线的代码?
位置“/admin”处的匹配叶路由没有元素。这意味着默认情况下它将呈现一个空值,从而导致“空”页面
我在用着 :
“反应”:“^17.0.2”,
"react-dom": "^17.0.2",
"react-router-dom": "^6.0.2",
App.js
import React from 'react'
import ReactDOM from 'react-dom'
import { BrowserRouter as Router, Switch,Routes, Route,Swit } from 'react-router-dom';
import MasterLayout from '../src/assets/layouts/admin/MasterLayout'
function App() {
return (
<div className="App">
<Router>
<Routes>
<Route path="/" element={<div>Default Page Content</div>}/>
<Route path="/admin" name="Admin" render={(props) => <MasterLayout {...props} />}/>
</Routes>
</Router>
</div>
);
}
export default App;
Route.js
import Dashboard from '../assets/components/admin/Dashboard';
import Profile from '../assets/components/admin/Profile';
const routes = [
{path:'/admin',exact:true,name:'Admin'},
{path:'/admin/dashboard',exact:true,name:'Dashboard',component: Dashboard},
{path:'/admin/profile',exact:true,name:'Profile',component: Profile},
];
export default routes;
MasterLayout.js
import React from 'react';
import { Navigate } from 'react-router-dom';
import { BrowserRouter as Router, Switch, Routes, Route, Swit } from 'react-router-dom';
import '../../admin/js/scripts.js'
import '../../admin/css/styles.css'
import Navbar from './Navbar.js';
import Sidebar from './Sidebar.js';
import Footer from './Footer.js';
import routes from '../../../routes/routes';
const MasterLayout = () => {
return (
<div className="sb-nav-fixed">
<Navbar />
<div id="layoutSidenav">
<div id="layoutSidenav_nav">
<Sidebar />
</div>
<div id="layoutSidenav_content">
<main>
<Router>
<Routes>
{routes.map((route, idx) => {
return (
route.component && (
<Route
key={idx}
path={route.path}
exact={route.exact}
name={route.name}
render={(props) => (
<route.component {...props} />
)}
/>
)
)
})}
</Routes>
</Router>
<Navigate from="/admin" to="/admin/dashboard"/>
</main>
<Footer />
</div>
</div>
</div>
)
}
export default MasterLayout;
#仪表板.js#
import React from 'react'
function Dashboard() {
return (
<h1>I am dashboard</h1>
);
}
export default Dashboard;
Profile.js
import React from 'react'
function Profile() {
return (
<h1>I am Profile</h1>
);
}
export default Profile;
Index.js
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
import reportWebVitals from './reportWebVitals';
ReactDOM.render(
<React.StrictMode>
<App/>
</React.StrictMode>,
document.getElementById('root')
);
// If you want to start measuring performance in your app, pass a function
// to log results (for example: reportWebVitals(console.log))
// or send to an analytics endpoint. Learn more:
reportWebVitals();