Javascript 将with样式与命名的导出反应类组件一起使用

Javascript 将with样式与命名的导出反应类组件一起使用,javascript,reactjs,material-ui,Javascript,Reactjs,Material Ui,此组件不是默认的导出组件。我正在尝试为它设置一些样式,但不确定如何在这里用HOC包装它。所以现在,它不知道什么是类 你必须这样做: import { withStyles } from '@material-ui/core/styles'; const styles = (theme) => ({ root: { flexGrow: 1, }, control: { padding: theme.spacing(2), },

此组件不是默认的导出组件。我正在尝试为它设置一些样式,但不确定如何在这里用HOC包装它。所以现在,它不知道什么是类


你必须这样做:

import { withStyles } from '@material-ui/core/styles';

const styles = (theme) => ({
    root: {
        flexGrow: 1,
    },
    control: {
        padding: theme.spacing(2),
    },
});

 class FeaturedCompanyGroup extends Component<{ formattedFeaturedCompanies: Array<JSX.Element> }> {
    render() {
        const { formattedFeaturedCompanies } = this.props;
        const { classes } = this.props;
        return (
            <Grid alignItems="center" className={classes.root} container direction="row">
                { formattedFeaturedCompanies }
            </Grid>
        );
    }
}

export const withFeaturedCompanyGroup = withStyles(styles)(FeaturedCompanyGroup);



不要导出未包装的类,导出constwhatever=with stylesclassname。您定义了样式类型定义吗?呃,是的,我正在考虑这个。。。我讨厌哈哈。。然后你可以考虑挂钩。Material也提供了所有支持Yea我必须重构整个组件,也许以后
import { withStyles } from '@material-ui/core/styles';

const styles = (theme) => ({
    root: {
        flexGrow: 1,
    },
    control: {
        padding: theme.spacing(2),
    },
});

 class FeaturedCompanyGroup extends Component<{ formattedFeaturedCompanies: Array<JSX.Element> }> {
    render() {
        const { formattedFeaturedCompanies } = this.props;
        const { classes } = this.props;
        return (
            <Grid alignItems="center" className={classes.root} container direction="row">
                { formattedFeaturedCompanies }
            </Grid>
        );
    }
}

export const withFeaturedCompanyGroup = withStyles(styles)(FeaturedCompanyGroup);