반응형
대응 라우터를 사용하여 사이드바 유지
바꾸고 싶다Detail
그리고Blog
하지만 여전히 간직하고 있다Sidebar
나는 아래 코드와 같이 사용하지만 작동하지 않는다.수정하는 것 좀 도와줄래?정말 감사합니다.
const routes = (
<Switch component={App}>
<Route exact key="detailpost" path={CelestialSettings.path + 'posts/:slug'}
components={{main: Detail, sidebar: Popular, mainbottom: Categories}} />) }
/>
<Route exact key="listpost" path={CelestialSettings.path}
components={{feature:Featurex, main: Blog, sidebar: Popular, mainbottom: Categories}} />) }
/>
</Switch>
);
class App extends React.Component {
render () {
const {feature, main, sidebar, mainbottom } = this.props;
return (
<div>
<div className="container">
<div className="main-feature" id="main-feature">
{feature}
</div>
</div>
<div id="content" className="site-content">
<div className="container">
<div className="divcontainer">
<div id="po-homepage" className="content-area">
{main}
</div>
<aside id="secondary" className="sidebar widget-area">
<div className="popular_post" id="popular_post">
{sidebar}
</div>
</aside>
</div>
</div>
</div>
<div className="cat-list">
<div className="container">
<div className="thecategories" id="thecategories">
{mainbottom}
</div>
</div>
</div>
</div>
)
}
}
ReactDOM.render(
(routes),
document.getElementById('app')
);
여러 경로에서 동일한 사이드바를 유지하려면 사이드바 구성 요소를 Switch 구성 요소와 동일한 수준으로 설정하십시오.대략적인 예:
const routes = (
<div>
<YourSidebar>
{/* ... */}
</YourSidebar>
<Switch component={App}>
<Route ... />
<Route ... />
{/* ... */}
</Switch>
</div>
);
이렇게 하면 React-Router는 사이드바 구성요소를 다시 렌더링(또는 업데이트)하지 않고 의 내용만 제어한다.<Switch>
.
참조URL: https://stackoverflow.com/questions/53306754/keep-sidebar-with-react-router
반응형
'IT이야기' 카테고리의 다른 글
Python 수퍼()가 TypeError를 발생시킴 (0) | 2022.03.17 |
---|---|
VueJS 확장 구성 요소: 상위 속성 제거 (0) | 2022.03.17 |
Vuetify 양식 검증 재설정 (0) | 2022.03.17 |
개체의 특성 나열 (0) | 2022.03.17 |
React Native 프로젝트에서 어떤 폴더를 선택하십시오. (0) | 2022.03.17 |