Tengo una función con dos parámetros que devuelve un objeto (paleta). El primer parámetro es el índice de un objeto en la paleta y el segundo parámetro controla si devolver el objeto claro u oscuro.
const Theme = (index:String, DarkMode:Boolean) => { const palette = { background:{ light, dark, }, custom:{ light, dark, }, } return(palette[index][DarkMode]); }Luego, en mi componente de reacción, uso esta función para diseñar mi elemento.
const [darkMode, setDarkMode] = useState(false); // state const bg = Theme("background",darkMode); // function // then in my component style backgroundColor:`${bg.background}`,Luego tengo un botón que alterna mi estado de modo oscuro para que mi función de tema devuelva el objeto claro en lugar de oscuro y viceversa, pero el problema es que el color de fondo de mi componente no cambia incluso cuando cambia el estado.
Entonces mi pregunta es: "¿Cómo uso React.useMemo para recuperar mi función y volver a renderizar mi componente cuando cambia el estado?".