Middle
Υλοποιήστε ένα προσαρμοσμένο hook του React useSubState, το οποίο λαμβάνει το πλήρες state, τη συνάρτηση setState και το όνομα του κλειδιού (πεδίο του αντικειμένου), και επιστρέφει ένα tuple με την τιμή αυτού του πεδίου και τη συνάρτηση για την τροποποίησή του — παρόμοιο με το useState, αλλά για ένα συγκεκριμένο πεδίο ενός μεγάλου αντικειμένου κατάστασης.
sobes.tech AI
Απάντηση από 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');