Vlastníctva " neexistuje na typ 'string' pri používaní makestyles @mui

0

Otázka

Mám nasledujúci kód:

    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>
  )
}

Na LoadingBackDrop komponent, som dostať nasledujúce chybové z ts eslint:

Majetok, 'root' neexistuje na typ 'string'.ts(2339)

To isté platí aj pre iné použitie tried.dialóg, len mení na názov vlastníctva,...

Ako môžem okomentovať alebo zadajte makestyles funkciu (alebo háčik hovor) opraviť túto chybu?

1

Najlepšiu odpoveď

1

Nemôžete hniezdo štýly spôsob, ako to robíte - musia byť o jednu úroveň hlboko. Napríklad:

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

A:

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

Ich Štýly dokumentácie mať ďalšie príklady.

2021-11-23 21:12:21

To je to! Ďakujeme
Roger Peixoto

V iných jazykoch

Táto stránka je v iných jazykoch

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