我正在尝试将所有样式都放在外部文件中以使其更整洁,但我找不到解决方案。
例如,我有这样的东西:
const styles = theme => ({
appBar: {
zIndex: theme.zIndex.drawer + 1,
position: 'absolute',
marginLeft: drawerWidth,
width: '100%',
},
});
在我的App组件末尾加上这个:
App.propTypes = {
classes: PropTypes.object.isRequired,
theme: PropTypes.object.isRequired,
};
export default withStyles(styles, { withTheme: true })(App);
但是,如果我尝试将样式放到组件之外并导入,则无法访问theme.zIndex.drawer
我的外部样式文件如下所示:
const drawerWidth = 240;
export default {
appBar: {
zIndex: theme.zIndex.drawer + 1,
position: 'absolute',
marginLeft: drawerWidth,
width: '100%',
},
}
我不太了解它是如何工作的,有人可以帮助我吗?
答案 0 :(得分:3)
当样式位于App.jsx中时,它是一个函数,将其移动到单独的文件中时,便将其作为对象。
您需要导出函数,而不是JSON对象:
const drawerWidth = 240;
export default theme => ({
appBar: {
zIndex: theme.zIndex.drawer + 1,
position: 'absolute',
marginLeft: drawerWidth,
width: '100%',
},
})