Concept
useState and useRef infer their types from the initial value, so you only spell one out when the initial value does not show the full type: null before data arrives, or an empty array.
The tutor works through these with you, in conversation and code. A session ends when you have shown them, not when a video does.
A few lines that show Typing hooks doing its job.
const [user, setUser] = useState<User | null>(null);
const [tags, setTags] = useState<string[]>([]);
const inputRef = useRef<HTMLInputElement>(null);
function useToggle(initial = false): [boolean, () => void] {
const [on, setOn] = useState(initial);
return [on, () => setOn((v) => !v)];
}Writing useState(null) with no type argument. The state is typed as null forever, and setUser(data) is a compile error.
Your roadmap puts these before Typing hooks, unless you already know them.
Once a session shows you understand Typing hooks, it comes back for review. Each review takes a minute and tells the memory model how well you still know it.