При реализации этого ответа я получаю следующее сообщение об ошибке.
Inbox.js:52 Error getting documents:
Error: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: object.
Check the render method of
WithStyles(Component).
Inbox.js вызывает MyView.js. А MyView.js импортирует <MyButtons/>
import MyRegularButton from './MyButtons';
import MyStyledButton from './MyButtons';
<MyButtons />
Что я делаю неправильно?
MyButtons.jsimport React from 'react';
import { withStyles, } from '@material-ui/core';
const styles = theme => ({
button: {
margin: theme.spacing.unit,
},
});
const MyRegularButton = props => (<Button>Click me!</Button>);
const MyStyledButton = ({ classes, }) => (
<Button className = {classes.button}>Click me!</Button>
);
export default withStyles(styles, { withTheme: true })({ MyRegularButton, MyStyledButton })
@ warl0ck: Можете ли вы дать ответ и пример того, как это будет выглядеть в этом случае?
экспортировать по умолчанию withStyles(styles, {withTheme: true})(MyRegularButton)
@Mowzer Я ответил на примере, посмотрите, поможет ли это



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Из вашего файла Button.js вы можете экспортировать оба компонента, например
import React from 'react';
import { withStyles, } from '@material-ui/core';
const styles = theme => ({
button: {
margin: theme.spacing.unit,
},
});
const MyRegularButton = props => (<Button>Click me!</Button>);
const MyStyledButton = ({ classes, }) => (
<Button className = {classes.button}>Click me!</Button>
);
const Regular = withStyles(styles, { withTheme: true })(MyRegularButton)
const StyledButton = withStyles(styles, { withTheme: true });(MyStyledButton);
export { Regular,StyledButton}
а затем вы можете импортировать его в разные файлы, например:
import { Regular } from './Button'
и
import { StyledButton } from './Button'
вы не можете экспортировать компонент по умолчанию 2, хотя вы можете экспортировать их по отдельности