React Material Design: использование пользовательского стиля React Material Design с редукцией в компоненте класса - PullRequest
0 голосов
/ 06 мая 2020

Я использую React Material Design и redux, и у меня есть компонент класса. Я пытаюсь добавить несколько пользовательских стилей в компонент rmd speeddial, вот мой компонент:

import React, { Component } from 'react';
import { connect } from 'react-redux';
import { withStyles, makeStyles } from '@material-ui/core/styles';
import { SpeedDial, SpeedDialIcon, SpeedDialAction } from '@material-ui/lab';

const useStyles = makeStyles((theme) => ({
    speedDial: {
        position: 'absolute'
      }
}));

const actions = [...]

class ToolBar extends Component {

    render() {
        let { classes } = this.props;
        return (
            <SpeedDial
                ariaLabel="SpeedDial Tools"
                icon={<SpeedDialIcon />}
                className={classes.speedDial}
                open={this.state.open}>
                {actions.map((action) => (
                    <SpeedDialAction
                        key={action.name}
                        icon={action.icon}
                        tooltipTitle={action.name}
                    />
                ))}
            </SpeedDial>
        )
    }
}

const mapStateToProps = state => ({...})
export default connect(mapStateToProps, null)(withStyles(useStyles)(ToolBar))

I сделал все остальное для конфигураций тем в соответствии с документацией rmd, НО Это результат, который я получаю: enter image description here

Класс будет добавлен, но css не будет отображаться правильно

Ответы [ 2 ]

0 голосов
/ 06 мая 2020

Он отлично работает благодаря этим изменениям:

const styles = theme => ({
    speedDial: {
        position: 'absolute'
    }
});

и:

export default connect(mapStateToProps, null)(withStyles(styles, { withTheme: true })(ToolBar))
0 голосов
/ 06 мая 2020

Вы не должны использовать компонент класса и пользовательский интерфейс материала, вы должны реорганизовать свой компонент до функционального.

...