Proprietatea "nu exista pe tip "string" atunci când se utilizează makestyles @mui

0

Problema

Am urmatorul cod:

    const useStyles = makeStyles(() => ({
  dialog: {
    root: {
      position: 'absolute'
    },
    backdrop: {
      position: 'absolute'
    },
    paperScrollPaper: {
      overflow: 'visible'
    },
    paper: {
      background: 'none',
      boxShadow: 'none',
      overflow: 'hidden'
    }
  },
}))
    
export const LoadingBackdrop = (props: any) => {
  const classes = useStyles()
  const backdropProps = {
    disableEscapeKeyDown: true,
    disableAutoFocus: true,
    disableEnforceFocus: true,
    disableScrollLock: true,
    disablePortal: true,
  }
  return (
    <Dialog
      {...backdropProps}
      fullWidth
      className={classes.dialog.root}
      classes={{
        paperScrollPaper: classes.dialog.paperScrollPaper,
        paper: classes.dialog.paper,
        paperFullWidth: classes.dialog.paper
      }}
      BackdropProps={{
        classes: { root: classes.dialog.backdrop }
      }}
      style={{ position: 'absolute' }}
      {...props}
    >
      <Loading />
    </Dialog>
  )
}

La LoadingBackDrop componentă, primesc următoarea eroare de la ts eslint:

Proprietate "root" nu exista pe tip "string".ts(2339)

Același lucru este valabil și pentru alte utilizări de clase.de dialog, numai schimbarea numelui de proprietate...

Cum pot adnota sau tastați makestyles funcția (sau cârlig apel) pentru a rezolva aceasta eroare?

1

Cel mai bun răspuns

1

Nu puteți cuib de stiluri în modul în care o faci - de care au nevoie pentru a fi un nivel mai adânc. De exemplu:

const useStyles = makeStyles(() => ({
  root: {
    position: 'absolute'
  },
  backdrop: {
    position: 'absolute'
  },
  paperScrollPaper: {
    overflow: 'visible'
  },
  paper: {
    background: 'none',
    boxShadow: 'none',
    overflow: 'hidden'
  }
}))

Și:

<Dialog
  {...backdropProps}
  fullWidth
  className={classes.root}
  ...

Lor Stiluri de documentare au alte exemple.

2021-11-23 21:12:21

Asta e! Multumesc
Roger Peixoto

În alte limbi

Această pagină este în alte limbi

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................