Я разработал панель управления в React с боковой панелью и верхним меню. когда вы нажимаете на любые ссылки на боковой панели, компонент должен отображаться в верхнем меню. Но даже несмотря на то, что ссылки маршрутизатора работают правильно (они меняют URL и показывают отдельный компонент, когда я загружаю ссылку маршрутизатора отдельно), они ничего не показывают в верхнем меню и рядом с боковой панелью, когда я нажимаю на ссылки боковой панели. , в чем проблема?
Редактировать: ссылка на github проекта, на самом деле это очень легкий проект: https://github.com/LaMentaAzul/Test
Боковая панель. js
import{ BrowserRouter,Route, Link } from 'react-router-dom'
import {routes} from './../../routes.js'
import CreateJob from './../../Views/Forms/CreateJob.js'
import BasicInfo from './../../Views/Contents/BasicInfo.js'
import Dashboard from './../../Views/Contents/Dashboard.js'
....
class Sidebar extends Component {
state = {
navActive : '0'
}
render () {
return (
<BrowserRouter>
<ContainerVertical style={{ backgroundColor: '#2d2e2e', height: '100vh', float:'right'}} >
<ContainerHorizontal >
<NavPanel dark >
<NavTitle style={{ fontFamily: 'IranSans', textAlign: 'Center' }}>
لوگو اینجا قرار بگیرد
</NavTitle>
<NavSection>
<NavSectionTitle />
<NavSectionTitle />
<NavLink key='1' style={linkStyles.base} rightEl={<FiMonitor style={linkStyles.Icon} />} className={this.state.navActive === '1' ? 'active' :' ' }
onClick={() => this.setState({ navActive:'1' })} style={this.state.navActive !== '1' ? {fontFamily:'IranSans'} : {...linkStyles.base, borderStyle:'solid',
borderWidth:'0px 5px 0px 0px',
borderColor:'#50d48b'
}
}
>
<Link Component={Dashboard} style={{color:'lightblue'}} to='/dashboard'>داشبورد</Link>
</NavLink>
........
{routes.map((route, index) => (
<Route
key={index}
path={route.path}
exact={route.exact}
component={route.main}
/>
))}
</NavPanel>
</ContainerHorizontal>
</ContainerVertical>
</BrowserRouter>
)
}
}
export default Sidebar
маршруты. js
import React from 'react'
export const routes = [
{
path: '/dashboard',
exact: true
},
{
path: '/createjob',
exact: true
}
....
]
export default routes
HRPanel. js
import SideBar from './../../Components/SideBar/SideBar'
import NavBar from './../Navigation Bar/NavBar.js'
class HRPanel extends Component {
render () {
return (
<div id='App'>
<SideBar />
<NavBar />
</div>
)
}
}
export default HRPanel
Панель инструментов. js (пример компонента одной из ссылок на боковой панели, которую необходимо загрузить под верхнюю панель)
class Dashboard extends Component {
render () {
return (
<ContainerVertical>
<ContainerHorizontal>
<ScrollArea>
<WidgetContainer style={{
background: 'var(--bg-base)',
border: '1px solid var(--border-color-base)',
height: '400px',
width: '100px',
position: 'relative',
top: '500px'
}}
>
<Widget padding>
<h2>
Title
</h2>
</Widget>
</WidgetContainer>
</ScrollArea>
</ContainerHorizontal>
</ContainerVertical>
)
}
}
export default Dashboard
Приложение. js
.....
import Insurance from './Views/Contents/Insurance.js'
import Jobs from './Views/Contents/Jobs.js'
import Management from './Views/Contents/Management.js'
import { BrowserRouter as Router, Route, Switch } from 'react-router-dom'
function App () {
return (
<Router>
<Switch>
<Route exact path='/' component={Login} />
<Route exact path='/hrpanel' component={HRPanel} />
<Route exact path='/createjob' component={CreateJob} />
<Route exact path='/basicinfo' component={BasicInfo} />
<Route exact path='/dashboard' component={Dashboard} />
<Route exact path='/education' component={Education} />
<Route exact path='/feedback' component={Feedback} />
<Route exact path='/finance' component={Finance} />
<Route exact path='/insurance' component={Insurance} />
<Route exact path='/jobs' component={Jobs} />
<Route exact path='/management' component={Management} />
</Switch>
</Router>
// <Login> </Login>
// <HRPanel> </HRPanel>
)
}
export default App
в чем проблема?