Sobes.tech
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');