Sobes.tech
Middle

Implemente um hook personalizado do React useSubState, que aceita o estado completo, a função setState e o nome da chave (campo do objeto), e retorna uma tupla com o valor dessa chave e a função para modificá-lo — semelhante ao useState, mas para um campo específico de um grande objeto de estado.

sobes.tech IA

Resposta da 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');