const [darkMode, setDarkMode] = useState(false); const toggleDarkMode = () => setDarkMode(previousState => !previousState); const [locationName, setLocationName] = useState(false); const toggleLocationName = () => setLocationName(previousState => !previousState); const [diameter, setDiameter] = useState(false); const toggleDiameter = () => setDiameter(previousState => !previousState);¿Cómo puedo hacer un cambio de caso con solo una función en mi ejemplo?
como puede ver, el "toggleFunc" aparece con diferentes nombres.
"const toggleFunc = () => setDarkMode(previousState => !previousState);" const filterFunctions = (toggleFunc: () => void, setOfVal: any) => { switch (setOfVal) { case darkMode: return () => setDarkMode(previousState => !previousState); case locationName: return () => setLocationName(previousState => !previousState); case diameter: return () => setDiameter(previousState => !previousState); } };Lo haría de esta manera es mucho más limpio en mi opinión.
const [darkMode, setDarkMode] = useState(false); const [locationName, setLocationName] = useState(false); const [diameter, setDiameter] = useState(false); const toggles = { diameter: () => setDiameter(p => !p), darkMode: () => setDarkMode(p => !p), locationName: () => setLocationName(p => !p), }entonces llamas a cada función así
toggles.darkMode()