React is a JavaScript library for building user interfaces through composable components and a declarative rendering model. The 18.x release line introduced concurrent rendering, automatic batching of state updates, and the useId, useTransition, useDeferredValue, and useSyncExternalStore hooks. Where pre-hooks React (before 16.8) relied on class components with lifecycle methods, modern React uses function components plus hooks for state, side effects, refs, context, and memoization.
Students meet React in CS50W (Harvard Web Programming), full-stack electives, capstone projects with a Django or Express backend, and internship preparation tracks. The library renders through a virtual DOM diffed against the previous render, with the fiber reconciler walking the component tree and committing only the changed subtree to the real DOM. CSHH tutors deliver components using the function syntax with TypeScript-friendly props interfaces, hooks composed into custom hooks for reuse, state managed locally with useState or globally with Context plus useReducer (or Redux Toolkit for non-trivial state graphs), routing via React Router v6, side effects through useEffect with explicit cleanup, performance through useMemo, useCallback, and React.memo applied with measured profiler evidence not speculation, and tests written with Jest plus React Testing Library that query by role and accessible name rather than internal class names.