🇮🇳 Full Stack Web Development · subject

Full Stack Web Development Front-End Development with React Syllabus

The Front-End Development with React syllabus for Full Stack Web Development in full: 4 chapters, 14 topics and 38 sub-topics, every one listed below, plus 51 Front-End Development with React flashcards with answers.

4Chapters
14Topics
38Sub-topics
51Flashcards

Front-End Development with React syllabus: all 4 chapters

Expand any chapter to see its topics and sub-topics.

  1. React Foundations

    3 topics
    • Introduction to React
      • Component-based architecture
      • Virtual DOM and reconciliation
      • Setting up with Vite or Create React App
    • JSX
      • JSX syntax and expressions
      • Conditional rendering
      • Rendering lists and keys
    • Components and Props
      • Functional components
      • Passing and validating props
      • Component composition
  2. State and Hooks

    4 topics
    • Managing State
      • useState hook
      • State updates and immutability
      • Lifting state up
    • Side Effects
      • useEffect hook
      • Dependency arrays and cleanup
      • Data fetching in effects
    • Additional Hooks
      • useContext for global state
      • useRef and useReducer
      • useMemo and useCallback
    • Custom Hooks
      • Extracting reusable logic
      • Rules of hooks
  3. Events, Forms and Routing

    3 topics
    • Handling Events in React
      • Synthetic events
      • Passing arguments to handlers
    • Controlled Forms
      • Controlled vs uncontrolled inputs
      • Form validation patterns
    • Client-side Routing
      • React Router setup
      • Routes, links and parameters
      • Nested and protected routes
  4. State Management and Tooling

    4 topics
    • Global State Management
      • Context API patterns
      • Redux Toolkit basics
      • Zustand overview
    • Component Styling
      • CSS Modules
      • Styled-components
      • Tailwind with React
    • Performance and Best Practices
      • Code splitting and lazy loading
      • Memoization with React.memo
      • Error boundaries
    • Build Tools and Testing
      • Vite configuration and bundling
      • Testing with React Testing Library and Jest

Full Stack Web Development Front-End Development with React flashcards — 51 questions with answers

  1. What is React?

    An open-source JavaScript library (created by Facebook/Meta) for building user interfaces, especially single-page applications, using reusable components and a declarative approach.

  2. What problem does React's Virtual DOM solve?

    It is an in-memory representation of the real DOM. React diffs the new Virtual DOM against the previous one (reconciliation) and updates only the changed parts of the real DOM, improving performance.

  3. What is the difference between imperative and declarative programming, and which does React use?

    Imperative describes step-by-step how to change the UI; declarative describes what the UI should look like for a given state. React is declarative—you describe the desired output and React handles the DOM updates.

  4. What is JSX?

    A syntax extension for JavaScript that lets you write HTML-like markup inside JavaScript. It is compiled (e.g., by Babel) into React.createElement() calls.

  5. How do you embed a JavaScript expression inside JSX?

    Wrap the expression in curly braces, e.g. {variable} or {2 + 2}. Only expressions are allowed, not statements like if or for.

  6. Why must JSX elements return a single root element, and how can you avoid an extra DOM node?

    JSX expressions must have one parent element. To avoid adding an extra wrapper to the DOM, use a Fragment: <>...</> or <React.Fragment>...</React.Fragment>.

  7. In JSX, what attribute names replace HTML's 'class' and 'for'?

    className replaces class, and htmlFor replaces for, because 'class' and 'for' are reserved words in JavaScript.

  8. What is a React component?

    A reusable, independent piece of UI defined as a JavaScript function (or class) that returns JSX. Component names must start with a capital letter.

  9. What are props in React?

    Props (properties) are read-only inputs passed from a parent component to a child component to configure or pass data. They make components reusable.

  10. Why are props considered immutable / read-only?

    A component must never modify its own props; data flows one way (parent to child). To change displayed data based on interaction, use state instead. This keeps components pure and predictable.

  11. What is the special 'children' prop?

    props.children contains whatever JSX is nested between a component's opening and closing tags, allowing components to wrap and render arbitrary content.

  12. What is the difference between props and state?

    Props are passed in from a parent and are read-only to the receiving component; state is private, managed within the component, and can change over time, triggering re-renders.

  13. What does the useState hook return?

    An array with two elements: the current state value and a setter function to update it, e.g. const [count, setCount] = useState(0). The argument is the initial state.

  14. Why should you update state using the functional updater form, e.g. setCount(prev => prev + 1)?

    Because state updates may be batched/asynchronous. Using the previous-state callback guarantees you update based on the latest value rather than a stale snapshot.

  15. When updating object or array state, why must you create a new copy rather than mutating it?

    React compares state by reference to decide whether to re-render. Mutating in place keeps the same reference, so React may not re-render. Spread into a new object/array, e.g. setUser({...user, name: 'X'}).

  16. What is a side effect in React, and which hook handles it?

    A side effect is work that reaches outside rendering—data fetching, subscriptions, timers, or manual DOM manipulation. The useEffect hook handles side effects.

  17. What does the dependency array of useEffect control?

    It controls when the effect runs: [] runs once after the first render; [a, b] runs after the first render and whenever a or b changes; omitting the array runs the effect after every render.

  18. What is the purpose of the cleanup function returned by useEffect?

    It runs before the effect re-runs and when the component unmounts, used to clean up subscriptions, timers, or listeners to prevent memory leaks.

  19. What is the useRef hook used for?

    It returns a mutable ref object whose .current property persists across renders without causing re-renders. Common uses: accessing DOM nodes or storing mutable values.

  20. What does the useContext hook do?

    It lets a component read the current value of a React Context, avoiding prop drilling by consuming context provided higher in the tree.

Show the other 31 Front-End Development with React flashcards
  1. When should you use useReducer instead of useState?

    When state logic is complex, involves multiple sub-values, or the next state depends on the previous one. useReducer centralizes update logic in a reducer function: (state, action) => newState.

  2. What is the useReducer signature and what does it return?

    const [state, dispatch] = useReducer(reducer, initialState). It returns the current state and a dispatch function used to send actions to the reducer.

  3. What does the useMemo hook do?

    It memoizes the result of an expensive calculation, recomputing it only when its dependencies change, to avoid unnecessary recalculation on every render.

  4. What does the useCallback hook do?

    It memoizes a function definition so the same function reference is kept between renders unless dependencies change—useful to prevent unnecessary re-renders of memoized child components.

  5. What is the difference between useMemo and useCallback?

    useMemo memoizes and returns a computed value; useCallback memoizes and returns a function. useCallback(fn, deps) is equivalent to useMemo(() => fn, deps).

  6. What is a custom hook?

    A reusable JavaScript function whose name starts with 'use' and that calls other hooks, allowing you to extract and share stateful logic between components.

  7. What are the Rules of Hooks?

    1) Only call hooks at the top level (not inside loops, conditions, or nested functions). 2) Only call hooks from React function components or other custom hooks.

  8. How do you attach an event handler to a JSX element?

    Pass a function to a camelCased event prop, e.g. <button onClick={handleClick}>. Pass the function reference, not its call result (handleClick, not handleClick()).

  9. What is a SyntheticEvent in React?

    A cross-browser wrapper around the browser's native event that React passes to handlers, providing a consistent API (e.g., e.preventDefault(), e.target) across browsers.

  10. How do you pass an argument to an event handler in JSX?

    Wrap it in an arrow function, e.g. onClick={() => handleClick(id)}, so the handler is called with the argument only when the event fires.

  11. What is a controlled component in a React form?

    A form input whose value is driven by React state via the value prop and updated through an onChange handler, making React the single source of truth.

  12. What is an uncontrolled component, and how do you read its value?

    A form input that maintains its own internal state in the DOM. You read its value with a ref (e.g., inputRef.current.value) instead of React state.

  13. How do you prevent a form's default page-reload on submit in React?

    Call event.preventDefault() inside the onSubmit handler attached to the <form> element.

  14. For a controlled checkbox, which prop holds its state instead of 'value'?

    The 'checked' prop holds the boolean state, updated via onChange (using e.target.checked).

  15. What is client-side routing?

    Rendering different views/components based on the URL without full page reloads from the server; the JavaScript app intercepts navigation and swaps content, enabling SPA navigation.

  16. In React Router, what component is used to create navigation links without reloading the page?

    The <Link> component (or <NavLink> for active styling), which renders an anchor and updates the URL via the History API instead of triggering a full reload.

  17. In React Router v6, how do you define routes?

    Wrap <Route> elements inside a <Routes> component, e.g. <Routes><Route path='/' element={<Home/>}/></Routes>, all inside a router like <BrowserRouter>.

  18. How do you read a dynamic URL parameter in React Router (e.g., /users/:id)?

    Use the useParams hook: const { id } = useParams();

  19. How do you navigate programmatically in React Router v6?

    Use the useNavigate hook: const navigate = useNavigate(); then call navigate('/path').

  20. What is prop drilling, and what is one solution?

    Passing props through many intermediate components that don't use them, just to reach a deep child. Solutions include the Context API or a state-management library.

  21. What two parts make up the React Context API for sharing global state?

    A Provider (created via React.createContext()) that supplies a value to the tree, and consumers that read it via useContext (or a Context.Consumer).

  22. What is Redux, in one sentence?

    A predictable state-management library that stores all application state in a single immutable store, updated only by dispatching actions to pure reducer functions.

  23. What are the three core principles of Redux?

    1) Single source of truth (one store). 2) State is read-only (changed only by dispatching actions). 3) Changes are made with pure reducer functions.

  24. What are the three main ways to style React components?

    1) CSS stylesheets with className. 2) Inline styles via the style prop (a JS object with camelCased properties). 3) CSS-in-JS / CSS Modules (scoped styles).

  25. What format does React's inline 'style' prop expect?

    A JavaScript object with camelCased CSS property names and string/number values, e.g. style={{ backgroundColor: 'red', fontSize: 16 }}.

  26. What problem do CSS Modules solve?

    They locally scope class names by default (generating unique names), preventing global CSS naming collisions between components.

  27. What does React.memo do?

    It is a higher-order component that memoizes a functional component, skipping re-renders when its props are unchanged (shallow comparison), to optimize performance.

  28. Why does React require a 'key' prop when rendering lists?

    Keys give each list item a stable identity so React can efficiently track, reorder, add, or remove items during reconciliation. Keys should be unique and stable—avoid using the array index when the list can change.

  29. What is code splitting in React, and which APIs enable it?

    Splitting the bundle so code loads on demand rather than all upfront. React.lazy() loads a component lazily, and <Suspense fallback={...}> shows a fallback while it loads.

  30. What is the role of a bundler/build tool like Vite or Webpack in a React project?

    It transpiles JSX/modern JS (via Babel), bundles modules, and optimizes assets (minification, tree-shaking, dev server with hot reload) for development and production. Vite is known for fast startup using native ES modules; Webpack is the long-established bundler.

  31. What library is commonly used to test React components by simulating user behavior, and what is its guiding principle?

    React Testing Library (often with Jest). Its principle is to test components the way a user interacts with them—querying by visible text/role rather than implementation details.

Full Stack Web Development Front-End Development with React FAQ

What is in the Full Stack Web Development Front-End Development with React syllabus?

Full Stack Web Development Front-End Development with React is split into 4 chapters: React Foundations, State and Hooks, Events, Forms and Routing and State Management and Tooling. Together they contain 14 topics and 38 sub-topics.

How many chapters are in Full Stack Web Development Front-End Development with React?

4 chapters, containing 14 topics and 38 sub-topics. The largest chapter is State and Hooks, with 4 topics.

Are there flashcards for Full Stack Web Development Front-End Development with React?

Yes — a 51-card Front-End Development with React deck, printed in full in the flashcards section of this page and available in the Examius app with spaced repetition. The free plan covers one exam of your choice, including its flashcards; Examius Pro, a one-time purchase, unlocks every other exam and deck.