Middle
Implémentez un hook personnalisé React useSubState, qui prend l'état complet, la fonction setState et le nom de la clé (champ de l'objet), et retourne un tuple du valeur de ce champ et de la fonction pour le modifier — similaire à useState, mais pour un champ spécifique d'un grand objet d'état.
sobes.tech IA
Réponse de l'IA
jsx import { useCallback } from 'react';
function useSubState(state, setState, key) { const value = state[key];
const setValue = useCallback( (newValue) => { setState(prevState => ({ ...prevState, [key]: typeof newValue === 'function' ? newValue(prevState[key]) : newValue })); }, [key, setState] );
return [value, setValue]; }
// Использование: // const [subValue, setSubValue] = useSubState(state, setState, 'fieldName');