Nuw*_*ara 35 version reactjs react-router-dom
import { BrowserRouter, Routes, Route } from "react-router-dom";
//Layouts
import HomeLayoutRoute from "./components/layouts/HomeLayout";
//components
import Home from './components/Home';
//import Dashboard from './components/Dash';
// Routing
import PrivateRoute from "./components/routing/PrivateRoute";
// Screens
import PrivateScreen from "./components/loginscreens/PrivateScreen";
import LoginScreen from "./components/loginscreens/LoginScreen";
import RegisterScreen from "./components/loginscreens/RegisterScreen";
import ForgotPasswordScreen from "./components/loginscreens/ForgotPasswordScreen";
import ResetPasswordScreen from "./components/loginscreens/ResetPasswordScreen";
const App = () => {
return (
<BrowserRouter>
<div className="app">
<Routes>
<HomeLayoutRoute path="/" element={<Home />} />
<PrivateRoute path="/" element={<PrivateScreen/>} />
<Route path="/login" element={<LoginScreen/>} />
<Route path="/register" element={<RegisterScreen/>} />
<Route path="/forgotpassword" element={<ForgotPasswordScreen/>}/>
<Route path="/passwordreset/:resetToken" element={<ResetPasswordScreen/>}/>
</Routes>
</div>
</BrowserRouter>
);
};
export default App;
Run Code Online (Sandbox Code Playgroud)
这是我的 App.js 文件,这是错误:错误:您无法在另一个文件中渲染 a 。您的应用程序中不应有多个。
这段代码适用于 React-Router-Dom 版本 5,但是当我转到 React-Router-Dom 版本 6 时,出现了这个错误。
小智 35
设置与此类似的 index.js 文件
ReactDOM.render(
<React.StrictMode>
<BrowserRouter>
<Routes>
<Route path="/" element={ <App /> }>
</Route>
</Routes>
</BrowserRouter>
</React.StrictMode>,
document.getElementById('root')
);
Run Code Online (Sandbox Code Playgroud)
然后删除 App.js 文件中的 BrowserRouter
const App = () => {
return (
<div className="app">
<Routes>
<HomeLayoutRoute path="/" element={<Home />} />
<PrivateRoute path="/" element={<PrivateScreen/>} />
<Route path="/login" element={<LoginScreen/>} />
<Route path="/register" element={<RegisterScreen/>} />
<Route path="/forgotpassword" element={<ForgotPasswordScreen/>}/>
<Route path="/passwordreset/:resetToken" element={<ResetPasswordScreen/>}/>
</Routes>
</div>
);
};
Run Code Online (Sandbox Code Playgroud)
小智 9
尝试这个!
索引.js
import React from "react";
import ReactDOM from "react-dom";
import { BrowserRouter } from "react-router-dom";
import "./index.css";
import App from "./App";
ReactDOM.render(
<BrowserRouter>
<App />
</BrowserRouter>,
document.getElementById("root")
);
Run Code Online (Sandbox Code Playgroud)
应用程序.js
请注意,您需要导入 { Routes, Route } 而不是 { Route } (与以前的版本一样)。另请注意,在 App.js 文件中,无需再次导入 BrowserRouter。
import { Routes, Route } from "react-router-dom";
import AllPages from "./pages/AllPages";
import NewContactsPage from "./pages/ContactsPage";
import FavoritesPage from "./pages/Favorites";
function App() {
return (
<div>
<Routes>
<Route path="/" element={<AllPages />} />
<Route path="/new-contacts" element={<NewContactsPage />} />
<Route path="/favorites" element={<FavoritesPage />} />
</Routes>
</div>
);
}
export default App;
Run Code Online (Sandbox Code Playgroud)
一个可能的错误可能是
<BrowserRouter>
您可能已将此元素包含在您的App.js和 Index.js两者中。
您可以检查此元素并将其保留在任何一个文件中,以便嵌套重复的路由删除
希望能帮助到你!
| 归档时间: |
|
| 查看次数: |
114774 次 |
| 最近记录: |