Skip to content

Commit ff57eeb

Browse files
DavidLiedleclaude
andcommitted
Update all chapter numbers and references throughout the book
Major updates: - Renumbered all chapters 1-16 (was incorrectly 3-18) - Updated all front matter titles in chapter files - Fixed Table of Contents with correct chapter numbers - Updated homepage and README to reflect 16 chapters - Fixed sample quote reference (Chapter 3, not 5) - Clarified book structure: Introduction + 16 Chapters + Conclusion + Appendix The book now properly shows: - Introduction (before Chapter 1) - Chapters 1-16 (the main content) - Conclusion - Appendix 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
1 parent 58aa421 commit ff57eeb

19 files changed

+75
-72
lines changed

01-table-of-contents.md

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -17,25 +17,25 @@ nav_order: 2
1717
## Part I: The Bitter Pill
1818
*Understanding the medicine you're about to take*
1919

20-
### Chapter 3: The Problem React Claims to Solve (That Wasn't Really a Problem)
20+
### Chapter 1: The Problem React Claims to Solve (That Wasn't Really a Problem)
2121
- The "jQuery Spaghetti" Myth
2222
- Two-Way Data Binding: The Devil We Knew
2323
- Facebook's First World Problems
2424
- When Simple Became Complex
2525

26-
### Chapter 4: JavaScript Fatigue: How We Got Here
26+
### Chapter 2: JavaScript Fatigue: How We Got Here
2727
- The Great Framework Wars of 2010-2020
2828
- NPM: The Package Manager That Ate the World
2929
- Build Tools: A Love Story Gone Wrong
3030
- The Day HTML Stopped Being Enough
3131

32-
### Chapter 5: The Virtual DOM: A Beautiful Lie
32+
### Chapter 3: The Virtual DOM: A Beautiful Lie
3333
- What the Virtual DOM Actually Is
3434
- The Performance Promise That Wasn't
3535
- Reconciliation: Making Simple Things Complicated
3636
- Why Direct DOM Manipulation Became "Bad"
3737

38-
### Chapter 6: JSX: When HTML and JavaScript Had a Baby Nobody Asked For
38+
### Chapter 4: JSX: When HTML and JavaScript Had a Baby Nobody Asked For
3939
- XML in JavaScript: What Could Go Wrong?
4040
- The Transpilation Tax
4141
- Why className and htmlFor Exist
@@ -46,31 +46,31 @@ nav_order: 2
4646
## Part II: Swallowing the Medicine
4747
*Learning React while maintaining your sanity*
4848

49-
### Chapter 7: Components: Everything is a Nail When You Have a Hammer
49+
### Chapter 5: Components: Everything is a Nail When You Have a Hammer
5050
- The Component All The Things Philosophy
5151
- Functional vs Class: The Civil War
5252
- When a Div Would Have Been Fine
5353
- Props: Passing Problems Down the Tree
5454

55-
### Chapter 8: State Management: Choose Your Own Adventure in Hell
55+
### Chapter 6: State Management: Choose Your Own Adventure in Hell
5656
- Local State: The Gateway Drug
5757
- Lifting State Up: Musical Chairs with Data
5858
- Context API: Prop Drilling's Complicated Brother
5959
- Redux: When You Need a Library to Manage a Library
6060

61-
### Chapter 9: Hooks: The Magic That Makes You Miss Classes
61+
### Chapter 7: Hooks: The Magic That Makes You Miss Classes
6262
- useState: Because Functions Need Memory Too
6363
- The Rules of Hooks: Arbitrary but Mandatory
6464
- Custom Hooks: Abstracting Your Abstractions
6565
- Why Everything Starts with "use"
6666

67-
### Chapter 10: useEffect: The Footgun You'll Shoot Yourself With
67+
### Chapter 8: useEffect: The Footgun You'll Shoot Yourself With
6868
- ComponentDidMount's Evil Twin
6969
- The Dependency Array of Doom
7070
- Cleanup Functions: Forgetting Them Since 2019
7171
- Infinite Loops and How to Love Them
7272

73-
### Chapter 11: Props Drilling: Pass It Down, Pass It Down, Pass It Down...
73+
### Chapter 9: Props Drilling: Pass It Down, Pass It Down, Pass It Down...
7474
- The Christmas Tree of Props
7575
- When Your Component Needs Its Grandparent's Data
7676
- Context to the Rescue (Sort Of)
@@ -81,25 +81,25 @@ nav_order: 2
8181
## Part III: Making Peace
8282
*Finding the balance between React's way and sanity*
8383

84-
### Chapter 12: Patterns and Anti-Patterns: The Good, The Bad, The React
84+
### Chapter 10: Patterns and Anti-Patterns: The Good, The Bad, The React
8585
- Container/Presentational: Separation That Isn't
8686
- Higher-Order Components: Inception for Code
8787
- Render Props: Functions Returning Functions Returning JSX
8888
- Compound Components: When Simple Gets Complicated
8989

90-
### Chapter 13: Performance: When React is Actually Fast (Sometimes)
90+
### Chapter 11: Performance: When React is Actually Fast (Sometimes)
9191
- The Myths of React Performance
9292
- React.memo: Memoizing Your Mistakes
9393
- useMemo and useCallback: Premature Optimization Central
9494
- When Re-renders Actually Matter
9595

96-
### Chapter 14: Testing React: Because Your Components Need Therapy Too
96+
### Chapter 12: Testing React: Because Your Components Need Therapy Too
9797
- Unit Testing Components: Mocking the Universe
9898
- React Testing Library: Not Testing Implementation Details (Allegedly)
9999
- Snapshot Testing: The Lie Detector That Lies
100100
- E2E Testing: When You've Given Up on Unit Tests
101101

102-
### Chapter 15: The Ecosystem: 47 Ways to Build the Same Thing
102+
### Chapter 13: The Ecosystem: 47 Ways to Build the Same Thing
103103
- Create React App vs Next.js vs Gatsby vs Vite vs...
104104
- CSS-in-JS: Because Regular CSS Wasn't Complicated Enough
105105
- Form Libraries: Solving Problems You Didn't Know You Had
@@ -110,19 +110,19 @@ nav_order: 2
110110
## Part IV: Stockholm Syndrome
111111
*Learning to love your captor*
112112

113-
### Chapter 16: Building Something Real: A Todo App (Of Course)
113+
### Chapter 14: Building Something Real: A Todo App (Of Course)
114114
- The Rite of Passage
115115
- Over-Engineering a Simple List
116116
- Adding Features Nobody Asked For
117117
- Deploying Your Masterpiece of Complexity
118118

119-
### Chapter 17: The Grass Isn't Always Greener: Vue, Svelte, and Why You'll Be Back
119+
### Chapter 15: The Grass Isn't Always Greener: Vue, Svelte, and Why You'll Be Back
120120
- Vue: The Middle Child
121121
- Svelte: The New Kid Who Gets It
122122
- Solid: React Without the Baggage
123123
- Why You'll End Up Using React Anyway
124124

125-
### Chapter 18: Acceptance: Making React Work for You (Not the Other Way Around)
125+
### Chapter 16: Acceptance: Making React Work for You (Not the Other Way Around)
126126
- Choosing Your Battles
127127
- The Features That Actually Help
128128
- Building Your Own Conventions

03-chapter-why-react-exists.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
---
22
layout: default
3-
title: "Chapter 3: Why React Exists"
3+
title: "Chapter 1: Why React Exists"
44
nav_order: 4
55
---
66

7-
# Chapter 3: The Problem React Claims to Solve (That Wasn't Really a Problem)
7+
# Chapter 1: The Problem React Claims to Solve (That Wasn't Really a Problem)
88

99
In 2013, Facebook had a problem. Not a "the servers are on fire" problem, or a "we're hemorrhaging users" problem. No, Facebook had a much more first-world problem: their notification counter was sometimes wrong.
1010

04-chapter-javascript-fatigue.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
---
22
layout: default
3-
title: "Chapter 4: JavaScript Fatigue"
3+
title: "Chapter 2: JavaScript Fatigue"
44
nav_order: 5
55
---
66

7-
# Chapter 4: JavaScript Fatigue: How We Got Here
7+
# Chapter 2: JavaScript Fatigue: How We Got Here
88

99
In 2009, you could build a website with Notepad and feel like a god. By 2015, you needed a computer science degree just to display "Hello, World" on a page. This is the story of how we got from `<script>alert('hi')</script>` to needing seventeen build tools just to start a project.
1010

05-chapter-virtual-dom-lie.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
---
22
layout: default
3-
title: "Chapter 5: Virtual DOM"
3+
title: "Chapter 3: The Virtual DOM"
44
nav_order: 6
55
---
66

7-
# Chapter 5: The Virtual DOM: A Beautiful Lie
7+
# Chapter 3: The Virtual DOM: A Beautiful Lie
88

99
The Virtual DOM is React's crown jewel, its killer feature, the innovation that supposedly makes it faster than everything else. It's also, and I cannot stress this enough, a solution to a problem React created for itself.
1010

06-chapter-jsx-abomination.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
---
22
layout: default
3-
title: "Chapter 6: JSX"
3+
title: "Chapter 4: JSX"
44
nav_order: 7
55
---
66

7-
# Chapter 6: JSX: When HTML and JavaScript Had a Baby Nobody Asked For
7+
# Chapter 4: JSX: When HTML and JavaScript Had a Baby Nobody Asked For
88

99
JSX is React's most visible feature and its most controversial. It's the thing that makes React developers say "it's just JavaScript!" and everyone else say "that's definitely not JavaScript."
1010

07-chapter-components-everywhere.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
---
22
layout: default
3-
title: "Chapter 7: Components"
3+
title: "Chapter 5: Components"
44
nav_order: 8
55
---
66

7-
# Chapter 7: Components: Everything is a Nail When You Have a Hammer
7+
# Chapter 5: Components: Everything is a Nail When You Have a Hammer
88

99
In React's world, everything is a component. Your header? Component. Your button? Component. That space between two words? Probably should be a component. That feeling of existential dread as you contemplate your career choices? Definitely a component.
1010

08-chapter-state-management-hell.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
---
22
layout: default
3-
title: "Chapter 8: State Management"
3+
title: "Chapter 6: State Management"
44
nav_order: 9
55
---
66

7-
# Chapter 8: State Management: Choose Your Own Adventure in Hell
7+
# Chapter 6: State Management: Choose Your Own Adventure in Hell
88

99
State management in React is like a Choose Your Own Adventure book where every choice leads to suffering, just different flavors of it. Do you want the suffering of prop drilling? The suffering of Context API re-renders? The suffering of Redux boilerplate? Or the suffering of choosing between 47 different state management libraries?
1010

09-chapter-hooks-magic.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
---
22
layout: default
3-
title: "Chapter 9: Hooks"
3+
title: "Chapter 7: Hooks"
44
nav_order: 10
55
---
66

7-
# Chapter 9: Hooks: The Magic That Makes You Miss Classes
7+
# Chapter 7: Hooks: The Magic That Makes You Miss Classes
88

99
In 2018, React said, "You know those class components we've been telling you to use for the past five years? Yeah, forget about them. Functions are the future now. Here's a bunch of magic functions that start with 'use' to make it work."
1010

10-chapter-effects-footguns.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
---
22
layout: default
3-
title: "Chapter 10: useEffect"
3+
title: "Chapter 8: useEffect"
44
nav_order: 11
55
---
66

7-
# Chapter 10: useEffect: The Footgun You'll Shoot Yourself With
7+
# Chapter 8: useEffect: The Footgun You'll Shoot Yourself With
88

99
useEffect is React's answer to the question, "How do we do side effects in functional components?" The answer, apparently, is "Confusingly, with lots of bugs, and in a way that makes developers question their sanity."
1010

11-chapter-props-drilling.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
---
22
layout: default
3-
title: "Chapter 11: Props Drilling"
3+
title: "Chapter 9: Props Drilling"
44
nav_order: 12
55
---
66

7-
# Chapter 11: Props Drilling: Pass It Down, Pass It Down, Pass It Down...
7+
# Chapter 9: Props Drilling: Pass It Down, Pass It Down, Pass It Down...
88

99
Props drilling is what happens when your great-grandmother needs to pass down a family heirloom to you, but instead of giving it directly, she has to give it to your grandmother, who gives it to your mother, who gives it to you. Except your grandmother and mother don't care about the heirloom at all. They're just the middlemen in this generational game of hot potato.
1010

0 commit comments

Comments
 (0)