Компонент пользовательского интерфейса материала `theme.spacing` не определен после сборки - PullRequest
0 голосов
/ 17 июня 2019

Я создаю текстовый редактор Material-UI с использованием draft.js и упаковываю всю функциональность в компоненты Material-UI.

Мне стало удобно использовать ~3.9, но для этого проекта было решено обновить его до4.0.Может быть, я что-то здесь упускаю, но это обычно работает для меня без проблем

const styles = theme => ({
  paper: {
    paddingBottom: theme.spacing(2)
  },
  ...
})


import { withStyles } from "@material-ui/styles"
...
export class EditorComponent extends Component {
  ...
  render() {
    const { classes } = this.props
  }
}

export default withStyles(styles, { withTheme: true })(EditorComponent)

Это работает при работе в webpack-dev-server, но когда я собираюсь в javascript и пытаюсь импортировать его в другой проект и использоватьесли я получаю эту ошибку в консоли ...

Uncaught TypeError: theme.spacing is not a function

Кажется, я не могу найти ничего подходящего для поиска этой проблемы.

Вот репозиторий, еслипросмотр моего сценария сборки помог бы

https://github.com/jrdn91/material-ui-rte

1 Ответ

1 голос
/ 17 июня 2019

Оказывается, что добавление withStyles или makeStyles и т. Д. Из @material-ui/styles не включает тему по умолчанию. В @material-ui/core/styles есть обернутая версия, включающая тему по умолчанию.

Таким образом, изменение с import { withStyles } from "@material-ui/styles" на import { withStyles } from "@material-ui/core/styles" решит эту проблему.

Ссылка с этой страницы

https://material -ui.com / настройки / по умолчанию, тема / # материал-UI-ядро-стили-против-материала-UI-стили

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...