Ошибка Material-UI: объект не является функцией в makeStyles? - PullRequest
1 голос
/ 04 августа 2020

Ошибка:

TypeError: Object(...) is not a function
  13 | import { connect } from 'react-redux';
  14 | 
  15 | 
> 16 | const useStyles = makeStyles(theme => ({
  17 |     ...theme
  18 | }));
  19 | 

Код:

const useStyles = makeStyles(theme => ({
    ...theme
}));

Почему я получаю указанную выше ошибку? Все работало, но внезапно я получил эту ошибку, возможно, после того, как я обновил npm npm -g update, но я не уверен.

Может ли кто-нибудь помочь?

Изменить: вот как я я использую useStyles:

const classes = useStyles();

, тогда я подаю в суд на классы, чтобы стилизовать мои элементы следующим образом:

<Button className={classes.button} />

classes.button получить правило кнопки из глобальной темы и использовать его для стиль кнопки

1 Ответ

1 голос
/ 04 августа 2020

Чтобы избавиться от необходимости систематически предоставлять тему, тема по умолчанию Material-UI применяется к повторно экспортированным модулям makeStyles.

// Re-export with a default theme
import { makeStyles } from '@material-ui/core/styles';

// Original module with no default theme
import { makeStyles } from '@material-ui/styles';

Но также будьте осторожны с «ошибочным» импортом.

// for example, this is wrong
import { makeStyles } from '@material-ui/core/styles/makeStyles';

Как то, в что здесь упал @ Code Eagle . Отлаживать такие ошибки бывает сложно :) Вот хорошее прочтение об этом из Основы Material-UI .

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