从头开始反应管理布局组件
React Admin Layout Component From Scratch
我想为 react-admin 实现自定义布局。我尝试使用他们的文档“https://marmelab.com/react-admin/Theming.html#using-a-custom-layout”
但它并没有很好地工作(例如我们的组件中没有 theme
)。文档中有一个损坏的 link 说您可以使用它来自定义 :(.
我现在已经实现了一些现在可以正常工作的东西,但我不知道在没有 problem/side-effects 的情况下是否可以完全工作,直到项目结束。
import * as React from 'react'
import { MuiThemeProvider, withStyles, createStyles} from '@material-ui/core/styles'
import appTheme from '../config/Theme'
import AppBar from './AppBar'
import Navbar from './Navbar'
const styles = (theme: any) => createStyles({
appFrame: {
display: 'flex',
flexDirection: 'column',
overflowX: 'auto',
},
content: {
display: 'flex',
flexDirection: 'column',
flexGrow: 2,
marginTop: '4em',
padding: theme.spacing.unit * 3,
paddingLeft: 5,
},
contentNoSidebar: {
display: 'flex',
flexGrow: 1,
},
root: {
backgroundColor: theme.palette.background.default,
display: 'flex',
flexDirection: 'column',
minHeight: '100vh',
position: 'relative',
zIndex: 1,
},
})
class CustomLayout extends React.Component<any, any> {
public render () {
const {
children,
classes,
logout,
open,
title,
} = this.props
return (
<MuiThemeProvider theme={appTheme}>
<div className={classes.root}>
<div className={classes.appFrame}>
<AppBar title={title} open={open} logout={logout} />
<Navbar/>
<main className={classes.contentNoSidebar}>
<div className={classes.content}>
{children}
</div>
</main>
</div>
</div>
</MuiThemeProvider>
)
}
}
export default withStyles(styles)(CustomLayout)
如果你能在这种情况下帮助我,我将不胜感激。
我认为此代码示例没有任何问题。这确实是自定义布局的方式。你有什么问题吗?
你能在 react-admin 存储库上提出一个关于文档损坏的问题 link 吗?
我想为 react-admin 实现自定义布局。我尝试使用他们的文档“https://marmelab.com/react-admin/Theming.html#using-a-custom-layout”
但它并没有很好地工作(例如我们的组件中没有 theme
)。文档中有一个损坏的 link 说您可以使用它来自定义 :(.
我现在已经实现了一些现在可以正常工作的东西,但我不知道在没有 problem/side-effects 的情况下是否可以完全工作,直到项目结束。
import * as React from 'react'
import { MuiThemeProvider, withStyles, createStyles} from '@material-ui/core/styles'
import appTheme from '../config/Theme'
import AppBar from './AppBar'
import Navbar from './Navbar'
const styles = (theme: any) => createStyles({
appFrame: {
display: 'flex',
flexDirection: 'column',
overflowX: 'auto',
},
content: {
display: 'flex',
flexDirection: 'column',
flexGrow: 2,
marginTop: '4em',
padding: theme.spacing.unit * 3,
paddingLeft: 5,
},
contentNoSidebar: {
display: 'flex',
flexGrow: 1,
},
root: {
backgroundColor: theme.palette.background.default,
display: 'flex',
flexDirection: 'column',
minHeight: '100vh',
position: 'relative',
zIndex: 1,
},
})
class CustomLayout extends React.Component<any, any> {
public render () {
const {
children,
classes,
logout,
open,
title,
} = this.props
return (
<MuiThemeProvider theme={appTheme}>
<div className={classes.root}>
<div className={classes.appFrame}>
<AppBar title={title} open={open} logout={logout} />
<Navbar/>
<main className={classes.contentNoSidebar}>
<div className={classes.content}>
{children}
</div>
</main>
</div>
</div>
</MuiThemeProvider>
)
}
}
export default withStyles(styles)(CustomLayout)
如果你能在这种情况下帮助我,我将不胜感激。
我认为此代码示例没有任何问题。这确实是自定义布局的方式。你有什么问题吗?
你能在 react-admin 存储库上提出一个关于文档损坏的问题 link 吗?