Я новичок в реагировании и в настоящее время разрабатываю приложение,
ПРЕДПОСЫЛКА
У него есть администратор, преподаватель, студент, dashboards.amd, статическая целевая страница скнопки для перехода в / admin / login, / faculty / login, / student / login.который открывает соответствующие панели мониторинга [! [После входа администратора он получает эту страницу панели мониторинга] [1]] [1]
ПРОБЛЕМА:
Приложение.js
import React from "react";
import ReactDOM from "react-dom";
import { BrowserRouter } from "react-router-dom";
import Routes from "./routes";
import firebase from "./Firebase";
const App = props => {
return (
<BrowserRouter>
<Routes {...props} />
</BrowserRouter>
);
};
firebase.auth().onAuthStateChanged(user => {
ReactDOM.render(<App user={user} />, document.getElementById("root"));
});
Routes.js
import React from "react";
import { Switch, Route, BrowserRouter } from "react-router-dom";
import MainLayout from "./OtherComponents/Common/MainLayout";
//Home
import Home from "./MainComponents/Home";
import HomePublicRoute from "./OtherComponents/Routes/Home/HomePublicRoute";
//ADMIN
//components
import AdminLogin from "./OtherComponents/Login/Admin";
import AdminDash from "./MainComponents/Admin";
import AdminPublicRoute from "./OtherComponents/Routes/Admin/AdminPublicRoutes";
import AdminPrivateRoute fro"./OtherComponents/Routes/Admin/AdminPrivateRoutes";
//pages
import PageDashboard from "./MainComponents/Admin/pages/dashboard";
import AdminTaluka from "./MainComponents/Admin/pages/taluka";
const Routes = props => {
console.log(props);
return (
<MainLayout>
<Switch>
<AdminPublicRoute
{...props}
exact
restricted={true}
path="/admin/login"
component={AdminLogin}
/>
<AdminPrivateRoute
{...props}
path="/admin/admindashboard"
exact
component={AdminDash}
/>
<AdminPrivateRoute
{...props}
path="/admin/pagedashboard"
exact
component={PageDashboard}
/>
<AdminPrivateRoute
{...props}
path="/admin/taluka"
exact
component={AdminTaluka}
/>
<HomePublicRoute path="/" component={Home} />
</Switch>
</MainLayout>
);
};
export default Routes;
MainLayout.js
import React from "react";
//var reactRouterToArray = require("react-router-to-array");
const MainLayout = props => {
//console.log(reactRouterToArray(props.children));
return <div>{props.children}</div>;
};
export default MainLayout;
Боковая панель не открывает содержимое внутри основного контейнера, вместо этого она открывается в новой вкладке, если я использую route внутри rout.js.
Боковая панель не открывает содержимое, если я использую маршрут внутри AdminDash.js.
Я попытался передать маршруты с помощью props (props.children) в AdminDash (его нетполучение реквизита)
Я использую частные и общественные маршруты.
Я запутался и не знаю, где я иду не таклюбые предложения или подсказки будут полезны.
Заранее спасибо.