Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

284
Views
Tipo de escritura a máquina para el setter useState() de React cuando

Estoy tratando de crear React Context con el que el mode de parámetros y setMode son getter y setter de un estado React. Esto es necesario para poder actualizar el modo css (claro/oscuro) de los componentes secundarios.

Recibo este error de mecanografiado para el value de ColorModeContext (supongo, porque esta línea de interfaz AppContextInterface es incorrecta: setMode:(c: string) => void) :

Mensaje de error

 function App() { interface AppContextInterface { mode: string; setMode:(c: string) => void } const ColorModeContext = React.createContext<AppContextInterface>({ mode: 'dark', // set a default value setMode: () => {}, }) const [mode, setMode] = React.useState<PaletteMode>('dark'); // Update the theme only if the mode changes const theme = React.useMemo(() => createTheme(getTheme(mode)), [mode]); return ( <ColorModeContext.Provider value= {{ mode, setMode }}> <ThemeProvider theme={theme}> <div> </ChildComponent> </div> </ThemeProvider> </ColorModeContext.Provider> ); } export default App;

¿Cómo puedo arreglarlo? Gracias

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Dado que su tipo useState se define como PaletteMode , debe definir lo mismo en la interfaz de su contexto. Además, también puede usar los mismos tipos que se usan para definir la acción setState (que puede importar desde React):

 import { useState, createContext, Dispatch, SetStateAction} from 'react'; interface AppContextInterface { mode: PaletteMode; setMode: Dispatch<SetStateAction<PaletteMode>> } function App() { const ColorModeContext = createContext<AppContextInterface>({ mode: 'dark', // set a default value setMode: () => {}, }) const [mode, setMode] = useState<PaletteMode>('dark');
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!