单击按钮会导致CSS样式消失

时间:2019-05-09 18:32:56

标签: reactjs material-ui jss

我的React项目中有一个“电子邮件”按钮,导致所有样式消失。我在外部加载的.css文件中有一些样式,在JSX中有一些编码。

(它只会在build之后发生,而在使用run dev时不会发生。)

有人经历过吗?我如何开始查明原因?

是否可以从外部加载样式,还是必须全部放入样式 const theme = createMuiTheme

深入研究后,我发现了这一点:

head

即使我之前已经定义了JSS head,JSS仍在insertionPoint中为CSS添加了更多MUI样式表。但是只有在我单击电子邮件按钮之后。

相关组件的相关部分:

export default class Person extends Component {
    constructor(props) {
        super(props);
        this.state = {
            expanded: false,
            mailStatus: "idle",
        };
    }

    sendMailStatic = () => { ...
        axios.post('/api/sendEmailStatic', {...
    }

    render() {
        return (
            <Card ...
                <CardHeader ...
                    action={
                        <>
                            <IconButton className='PersonEmailBtn'
                                onClick={() => { this.sendMailStatic() }}
                            >
                                {(() => {
                                    switch (this.state.mailStatus) {
                                        case 'sending':
                                            return <FAIcon className='EmailStatusIcon Sending' icon='sync-alt' spin />;
                                        case 'error':
                                            return <FAIcon className='EmailStatusIcon Error' icon='exclamation-circle' />;
                                        case 'sent':
                                            return <FAIcon className='EmailStatusIcon Sent' icon='check-circle' />;
                                        case 'idle':
                                            return <MailIcon className='EmailStatusIcon Idle' />;
                                        default:
                                            return null;
                                    }
                                })()}
                            </IconButton>
                        </>
                    }
...
                    }}
                />

                <Collapse ...
                </Collapse>
            </Card>
        )
    }
}

0 个答案:

没有答案