From the course: Build Modern Web Apps with React, Hooks, State Management, and APIs Using Vite or Next.js
Unlock this course with a free trial
Join today to access over 25,200 courses taught by industry experts.
Managing objects
From the course: Build Modern Web Apps with React, Hooks, State Management, and APIs Using Vite or Next.js
Managing objects
Welcome back, in this video we'll see how we can use objects inside our useState hook. We know from the previous understanding that state updates must be immutable. We should never be updating the state directly or the state variable directly. This line here will give you a bit of revision that if user.name is a state value, we cannot set it directly. Instead, we have to use the setter function. But over here, our example is a slight different. Instead of having a string variable name, we have a user object. That means our useState value is actually an object, not a primary datatype such as number, string or boolean. Whenever we have to update an object inside our state using the setter function, we have to use the spread operator. The JavaScript useSpread operator gives us the advantage that we do not lose the rest of the object's fields but we only get to update whatever field we want to update. Consider this example. You have a user object which is part of your state and the…
Practice while you learn with exercise files
Download the files the instructor uses to teach the course. Follow along and learn by watching, listening and practicing.
Contents
-
-
-
-
-
-
(Locked)
Introduction to hooks wrapper hell5m 56s
-
(Locked)
Complex lifecycle logic5m 11s
-
(Locked)
This keyword confusion3m 55s
-
(Locked)
useState hook6m 3s
-
(Locked)
Lazy initialization3m 58s
-
(Locked)
Managing objects8m 33s
-
(Locked)
Managing arrays: Summary4m 7s
-
(Locked)
useEffect hook: Introduction4m 6s
-
(Locked)
useEffect problem9m 24s
-
(Locked)
useEffect API calling5m 50s
-
(Locked)
useEffect dependency arrays10m 34s
-
(Locked)
useEffect cleanup function and summary5m 18s
-
(Locked)
useContext introduction3m 50s
-
(Locked)
Theme context: Implementing the provider9m 36s
-
(Locked)
Theme switcher and header component6m 26s
-
(Locked)
Use cases: Summary4m 52s
-
(Locked)
useRef introduction: DOM elements6m 47s
-
(Locked)
useRef timer example: Mutable values3m 55s
-
(Locked)
useRef common cases and comparison with useState2m 26s
-
(Locked)
useReducer introduction and syntax4m 46s
-
(Locked)
useReducer vs useState: Basic example5m 59s
-
(Locked)
useReducer status manager example14m 50s
-
(Locked)
useReducer vs Redux: Summary4m 39s
-
(Locked)
useMemo introduction6m 38s
-
(Locked)
useMemo real-world example13m 58s
-
(Locked)
useMemo dos and don'ts: Summary6m 13s
-
(Locked)
useCallback introduction3m 41s
-
(Locked)
useCallback example and understanding10m 41s
-
(Locked)
useCallback summary and pitfalls3m 17s
-
(Locked)
useImperativeHandle introduction4m 8s
-
(Locked)
useImperative example and uses5m 25s
-
(Locked)
useImperative common use case and summary4m 14s
-
(Locked)
Custom hook introduction4m 54s
-
(Locked)
Custom hook example and usage4m 55s
-
(Locked)
Custom hook design principles4m 9s
-
(Locked)
Custom hook pitfalls and summary4m 9s
-
(Locked)
-
-
-
-