Middle
Implementieren Sie einen benutzerdefinierten React-Hook useSubState, der den vollständigen Zustand, die setState-Funktion und den Namen des Schlüssels (Feld des Objekts) übernimmt und ein Tupel aus dem Wert dieses Feldes und der Funktion zu seiner Änderung zurückgibt — ähnlich wie useState, aber für ein bestimmtes Feld eines großen Zustandsobjekts.
sobes.tech KI
Antwort von AI
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');