Sobes.tech
Middle

Implementați un hook personalizat React useSubState, care primește starea completă, funcția setState și numele cheii (câmpul obiectului) și returnează un tuple din valoarea acestui câmp și funcția pentru modificarea sa — similar cu useState, dar pentru un câmp specific al unui obiect mare de stare.

sobes.tech AI

Răspuns de la 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');