【发布时间】:2022-10-15 13:16:08
【问题描述】:
介绍
我创建了一个反应启动器应用程序
问题
我在/src/pages 中创建了一个名为AddCoupon、Addvertical、Addmetadata 的组件。现在我在/src 中创建了一个文件Routes.js。
路由.js
import React from 'react';
import {
BrowserRouter as Router,
Switch,
Route,
Link
} from "react-router-dom";
import AddCoupon from './pages/addCoupon';
import AddMetadata from './pages/addMetadata';
import AddVertical from './pages/addVertical';
import Login from './pages/login';
const Routes = () => {
return (
<>
<Router>
<Switch>
<Route path="/addcoupon">
<AddCoupon />
</Route>
<Route path="/addmetadata">
<AddMetadata />
</Route>
<Route path='/addvertical'>
<AddVertical />
</Route>
<Route path="/">
<Login />
</Route>
</Switch>
</Router>
</>
)
}
export default Routes
index.js
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import App from './App';
import reportWebVitals from './reportWebVitals';
import { BrowserRouter as Router } from 'react-router-dom'
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
<React.StrictMode>
<Router >
<App />
</Router>
</React.StrictMode>
);
reportWebVitals();
我想要的是?
所以基本上我想要的是,当我输入 http:localhost:3000/addcoupon 时,它应该呈现 AddCoupon Component 并且对于其他 2 个组件也是如此,但现在它什么也没显示。
我不想使用任何导航栏。我想要的只是当我点击 Route.js 中提到的端点时,它应该呈现该组件。
【问题讨论】:
-
精确添加到您的 Route 元素
-
在所有路由元素中??
-
如果您的 url 恰好是 /addvertical 您应该添加确切的内容以准确加载定义的组件
-
@MagnusEffect 我已经更新了我的答案,我希望它现在会有所帮助。
-
您不能在反应路由器 v6 中使用 Switch。
标签: javascript reactjs react-router react-router-dom