【发布时间】:2020-08-13 10:56:25
【问题描述】:
我正在尝试用ListItem 构建一个side-bar,并在单击它后路由到一个页面。下面是我尝试的。我的index 中有两个类组件——一个是side menu,一个是待渲染组件“depositLayout”。似乎当我单击它时,页面无法呈现组件,只是 url 发生了变化。我错过了什么吗?非常感谢您帮助我。
代码:
index.js:
function App(props){
return(
<AppBar />
<div>
<Switch>
<Route path="/deposit" exact component={depositLayout}></Route>
<Route path="/"></Route>
</Switch>
</div>
)
}
const contentDiv = document.getElementById("root");
const gridProps = window.gridProps || {};
ReactDOM.render(React.createElement(App, gridProps), contentDiv);
AppBar.js
class AppBar extends React.Component {
render() {
return (
<SideBar></SideBar>
);
}
export default AppBar;
SideBar.js
class SideBar extends React.Component {
constructor(props) {
super(props);
this.state = {
popSideBar: false,
};
//some control sidebar behavior
sideBarItem = item =>(
<div>
<List>
<ListItem button key={'deposit'} component={Link} to="/deposit">
<ListItemText primary={'Bank'}/>
</ListItem>
</List>
</div>
);
render() {
const { classes } = this.props;
return (
<Router>
<SwipeableDrawer>
{this.sideBarItem ('popSideBar')}
</SwipeableDrawer>
</Router>
);
}
}
export default SideBar ;
【问题讨论】:
标签: javascript reactjs routes react-router