1. Introduction
    1. Basic Commands
  2. JSX
  3. Rendering Elements
    1. Rendering an element into the DOM
    2. Updating the Rendered Element
  4. Components and Props
    1. Basics
    2. Defining a Component
    3. Rendering an Element
    4. Nested Components
    5. State Vs Props
  5. State and Lifecycle
    1. Converting a function to a class
    2. Lifecycle of components
    3. State
    4. Data in Nested Components
  6. Event Handling
    1. Default Event Handler
    2. Event Handling in ES6 Class
  7. Conditional Rendering
    1. Basic Example
  8. Lists and Keys
    1. Basic Example
  9. Forms
    1. Controlled Components
    2. Uncontrolled Components
  10. Composition v/s Inheritance
    1. Containtment
    2. Specialization
  11. Accessibility
    1. WAI-ARIA
    2. Semantic HTML
    3. Accessible Forms
    4. Focus Control
  12. Code Splitting
    1. Bundling and Code-splitting
    2. Lazy Loading
    3. Route-based code splitting
  13. Context
    1. Introduction
    2. API
    3. Examples
    4. Caveats
  14. Error Boundaries
    1. Introduction
    2. How About Try/Catch?