7
votes

Pourquoi Material-UI ne reconnaît pas la fonction theme.spacing?

Description

J'essaie d'utiliser la fonction theme.spacing de Material-UI dans une application React mais la fonction spacing n'est pas reconnue.

Le message d'erreur Javascript est: TypeError: theme.spacing n'est pas une fonction

Je ne sais pas s'il s'agit d'un bogue ou j'ai un problème avec les versions des frameworks en cours d'installation.

Contexte

Voici les versions des frameworks en cours d'installation, selon le fichier package-lock.json :

  • Material-UI: v3.9.2
  • Réagir: v16.8.1
  • Chrome: v72.0.3626.96
  • TypeScript: Aucun
  • create-react-app: v3.2.2

0 commentaires

4 Réponses :


6
votes

Eh bien, il s'avère que c'est un bogue après tout, causé par request # 14099 .

Un correctif est en cours, donc je ferme cette question.


0 commentaires

3
votes

Essayez ceci.

import { makeStyles } from '@material-ui/core/styles' 
const userStyles = makeStyles (theme => ({
gridAlign : {
    padding: theme.spacing(2),
    textAlign: 'center',
    color: theme.palette.secondary,
  },
})


0 commentaires

1
votes

Essayez de mettre à jour le package @ material-ui / core vers la version minimale de 4.0.0.
Exécutez npm i @ material-ui / core @ 4.0.0
Cela a résolu mon problème.


0 commentaires

1
votes

faites-le simplement de la manière suivante:

const theme = createMuiTheme({
  status: {
    danger: orange[500],
  },
});

export default function CustomStyles() {
  return (
    <ThemeProvider theme={theme}>
      <CustomCheckbox />
    </ThemeProvider>
  );
}


0 commentaires