Заранее большое спасибо
Я пытаюсь получить доступ к дочерней странице компонента Drawer, однако, когда я пытаюсь использовать hisotry.pu sh ('имя маршрута'), он просто заменяет это в URL, но не переходит к ссылке, я использую службу навигации по истории. Я не знаю, является ли помеха и компонент дочерним объектом ящика, но он имеет тот же адрес. файл саг
src/service/routes.js
import { createBrowserHistory } from 'history';
const history = createBrowserHistory();
export default history;
src/modules/sagas.js
function* detailsUsers({ payload: { user } }) {
yield put(defineInformationDetails(user));
history.push(`Drawer/EditAdm`);
}
src/router/index.js
import React from 'react';
import { Switch, Route } from 'react-router-dom';
import Login from '../pages/Login';
// import Panel from '../pages/Panel';
import Panel from './Drawer';
import * as isUserLogged from '../store/modules/auth/actions';
import ResetPassword from '../pages/ResetPassword';
import ChangePassword from '../pages/ChangePassword';
export default function Routes() {
return (
<Switch>
<Route path="/" exact component={Login} />
<Route path="/Login" component={Login} />
<Route path="/ResetPassword" component={ResetPassword} />
<Route path="/ChangePassword" component={ChangePassword} />
<Route path="/Drawer" component={Panel} />
</Switch>
);
}
src/routes/drawer.js
const [drawer, setDrawer] = useState({
name: 'Menu',
subname: '',
options: [
{
id: '1',
name: 'Home',
open: true,
link: `/`,
icon: () => <IconHome />,
route: {
path: `${path}/`,
exact: true,
main: () => <Home />,
},
suboptions: [],
},
{
id: '2',
name: 'Cadastro de Usuário',
open: false,
link: false,
icon: () => <IconUserList />,
route: null,
suboptions: [
{
id: '1',
name: 'Buscar/Editar Usuário',
open: false,
link: `/SearchUser`,
icon: () => <IconSearchFa />,
route: {
path: `${path}/SearchUser`,
exact: true,
main: () => <EditUser />,
},
},
{
id: '2',
name: 'Administrador',
open: false,
link: `/AdmRegistration`,
icon: () => <IconRegisters />,
route: {
path: `${path}/AdmRegistration`,
exact: true,
main: () => <AdmRegistrator />,
},
},
{
id: '5',
name: 'Fornecedor',
open: false,
link: `/SupplierRegistrator`,
icon: () => <IconRegisters />,
route: {
path: `${path}/SupplierRegistrator`,
exact: true,
main: () => <SuppliedRegistrator />,
},
},
{
id: '6',
name: 'Controle de acesso nos eventos',
open: false,
link: `/EventAcess`,
icon: () => <IconEvent />,
route: {
path: `${path}/EventAcess`,
exact: true,
main: () => <EventAcess />,
},
},
{
id: '7',
name: 'Editar Administrador',
open: false,
link: `/EditAdm`,
icon: () => {},
route: {
path: `${path}/EditAdm`,
exact: true,
main: () => <EditAdm />,
},
},
],
},
],
});
return (
<Router>
<AreaPanel>
<Header
name={
localStorage.getItem('NeoTicket@name') !== null
? localStorage
.getItem('NeoTicket@name')
.substring(0, 1)
.toUpperCase()
.concat(localStorage.getItem('NeoTicket@name').substring(1))
: 'Nome Usuário'
}
functionOnClickDrawer={() => setOpenDrawer(!openDrawer)}
openDrawer={openDrawer}
functionOnClickUser={() => setOpenUser(!openUser)}
openUser={openUser}
/>
<AreaDrawerPanel>
<AreaDrawer open={openDrawer}>
<Drawer
name={drawer.name}
subname={drawer.subname}
openDrawer={openDrawer}
options={drawerSearch.options}
functionOnClickOpenSuboption={id =>
functionOpenSuboption(id, drawerSearch)
}
functionSearchText={text => setSearchText(text)}
functionOnClickName={name => functionGetNamePage(name)}
path={path}
/>
</AreaDrawer>
<AreaContent open={openDrawer}>
<HeaderContainer>
{/* {drawer.options.map((option, index) => {
const { link } = option;
if (link) {
return (
<HeaderContent
key={index.toString()}
name={namePage === '' ? 'TESTE' : namePage}
/>
);
}
})} */}
<Switch>
{drawer.options.map((option, index) => {
const { link, route, suboptions } = option;
if (link) {
return (
<Route
key={index.toString()}
path={route.path}
exact={route.exact}
children={<route.main />}
/>
);
}
return suboptions.map((suboptions, indexParam) => {
return (
<Route
key={indexParam.toString()}
path={suboptions.route.path}
exact={suboptions.route.exact}
children={<suboptions.route.main />}
/>
);
});
})}
</Switch>
</HeaderContainer>
</AreaContent>
</AreaDrawerPanel>
</AreaPanel>
</Router>
Я не понимаю, как решить.