All paths
ReactBeginner

React — Basics

Build real React components and see a live preview, right in your browser.

20 chapters81 lessons173 challenges

Course curriculum

Chapter 1: Components and JSX

  • Components and JSX
  • Props
  • Lists and keys
  • State and events

Chapter 2: Props and composition

  • Passing props
  • Destructuring props
  • children
  • Default values
  • Props are read-only

Chapter 3: Conditional rendering

  • The ternary operator
  • The && operator (and the 0 trap)
  • Computing before the return
  • Multiple conditions

Chapter 4: Lists and keys

  • map to generate elements
  • The key prop
  • Filtering and transforming
  • Aggregating data

Chapter 5: State with useState

  • What state is (useState)
  • Reading and showing state
  • Updating state
  • Derived state

Chapter 6: Events and interaction

  • Handling events
  • Updating state in events
  • Updates based on the previous
  • Communicating to the parent

Chapter 7: useEffect

  • What an effect is (useEffect)
  • The dependency array
  • Cleanup
  • Common useEffect mistakes

Chapter 8: Forms and controlled inputs

  • Controlled inputs
  • Handling multiple fields
  • onSubmit and preventDefault
  • Validation

Chapter 9: Communication between components

  • The shared state problem
  • Lifting state up
  • Data down, events up
  • Single source of truth

Chapter 10: useRef and the DOM

  • What useRef is
  • Accessing the DOM
  • Mutable values without re-render
  • useRef vs useState

Chapter 11: useContext

  • The prop drilling problem
  • Creating a Context
  • Consuming with useContext
  • When to use Context

Chapter 12: useReducer

  • What useReducer is
  • Reducer and action
  • dispatch
  • useReducer vs useState

Chapter 13: Custom hooks

  • What custom hooks are
  • The rules of hooks
  • A useful custom hook
  • Best practices

Chapter 14: Performance and memoization

  • When re-renders happen
  • React.memo
  • useMemo
  • useCallback

Chapter 15: Component patterns

  • Composition
  • Controlled vs uncontrolled
  • Render props
  • Higher-Order Components (HOC)

Chapter 16: Data fetching

  • Loading data with useEffect
  • States: loading, error, data
  • Cleanup and race conditions
  • Abstracting the fetch

Chapter 17: Routing

  • Client-side routing
  • Routes, Route and Link
  • Parameters and navigation
  • Layouts and nested routes

Chapter 18: Component testing

  • Why test components
  • React Testing Library
  • Queries and interactions
  • Testing behavior

Chapter 19: TypeScript and React

  • Why TypeScript in React
  • Typing props
  • Typing state and hooks
  • Typed events and children

Chapter 20: Best practices and senior pitfalls

  • Organizing components
  • Where to put state
  • Common pitfalls
  • Quality and accessibility

Ready to level up?

Create a free account and start now: earn XP on every challenge and climb the leaderboard.

React — Basics — LevelUpCode