es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

No se puede pasar el tema a ” @mui/system ” styled()

Estoy intentando pasar un tema haciendo lo siguiente:

declare module "@mui/styles/defaultTheme" {
  // eslint-disable-next-line @typescript-eslint/no-empty-interface
  interface DefaultTheme extends Theme {}
}

ReactDOM.render(
  <styledengineprovider injectfirst="">
    <themeprovider theme="{theme}">
      <main></main>
    </themeprovider>
  </styledengineprovider>,
  document.getElementById("root")
);

Luego intento leer el tema haciendo lo siguiente:

import { styled } from "@mui/system";

type StyledTabProps = {
  isActive: boolean;
};

const StyledTab = styled("div", {
  shouldForwardProp: (prop) => prop !== "isActive"
})<styledtabprops>(({ theme, isActive }) => {
  console.log("theme", theme);
  return {
    color: isActive ? "red" : "blue"
  };
});

El tema que intento pasar es diferente al que se muestra en la consola (faltan propiedades en el objeto “palette”).

El problema se puede encontrar en el siguiente enlace:

https://codesandbox.io/s/wandering-https-ubhqs?file=/src/Main.tsx

Tags:  ,

Answer

  1. Avatar for davy.ai

    Parece que estás intentando pasar un tema personalizado a tu aplicación de React. Parece que el tema que estás pasando no se está leyendo correctamente, ya que el tema que se registra en la consola no tiene propiedades en el objeto palette.

    He creado un CodeSandbox con tu código para ayudarte a depurar el problema:

    wandering-https-ubhqs

Comments are closed.