Step 2 of 2 · your path
React, Advanced
Reconciliation, concurrent rendering, Server Components, and the patterns behind every component library you've ever imported.
Your progress
0 / 23 done
Up next
Fiber
7 min read · 2 exercises
The order I'd read them in
About 2 h 7 min of reading. Tick off what you've read, it is remembered on this device.
- Reconciliation & FiberRender is a pure, interruptible calculation. Commit is a synchronous mutation. Everything follows from that split.
2 exercises
- Concurrent featuresTelling React which updates can wait — so the urgent one never queues behind them.
2 exercises
- Suspense & code splittingDeclaring where a loading state lives, instead of threading one through every component.
2 exercises
- Server ActionsA function that runs on the server, called from the client, with no API route in between.
2 exercises
- The use() hookReading a promise or a context during render — and the only hook that breaks the rules.
2 exercises
- Rendering strategiesWhere the HTML is produced, and when — the decision that shapes everything downstream.
2 exercises
- Refs in depthForwarding, imperative handles, and integrating libraries that own their own DOM.
2 exercises
- Advanced component patternsThe four shapes behind every component library you have imported.
- Performance workMeasure, find the actual cost, fix the structure. Memoisation is the last step, not the first.
- AccessibilitySemantics first, keyboard second, ARIA last — and focus management is the part React makes harder.
- Design systemsConstraints that make the common thing easy and the inconsistent thing hard.
2 exercises
- Advanced TypeScript with ReactMaking the wrong call fail to compile, rather than fail in review.
2 exercises
- Architecture at scaleOrganising by feature, drawing boundaries, and the decisions that are hard to reverse.
2 exercises
- Migrating and upgradingNobody rewrites a working application. The skill is moving it while it keeps shipping.
2 exercises
- Debugging in productionThe bug is on someone else's device, on a network you cannot reproduce.
2 exercises
- Reviewing React, and knowing when not to use itAt this level you are judged on what you notice in someone else's code, and on what you argue against.
2 exercises
- State machines and XStateWhen a screen has modes, list the modes and the events each one accepts, instead of guessing from booleans.
2 exercises
- Feature flagsDeploying code and releasing it are different decisions, and a flag is what separates them.
2 exercises
Practice at this level
Every exercise opens in the editor with tests you can run.
- State machines · 8 tests
- Feature flags · 8 tests
- Fiber · 8 tests
- Server Components · 8 tests
- Rendering strategies · 8 tests
- Effect timing · 8 tests
- Review & judgement · 8 tests
- Architecture at scale · 8 tests
- Custom renderers · 8 tests
- Fiber · 8 tests
- Server Components · 8 tests
- Rendering strategies · 8 tests
- Advanced TypeScript · 8 tests
- Architecture at scale · 7 tests
- Custom renderers · 6 tests
- Production debugging · 7 tests
- Review & judgement · 7 tests
- Performance · 5 tests
- Refs in depth · 5 tests
- Accessibility · 5 tests
- Component patterns · 4 tests
- use() · 5 tests
- State machines · 6 tests
- External stores · 4 tests
- Suspense · 4 tests
- Concurrent · 5 tests
- Concurrent · 5 tests
- Migrating & upgrading · 4 tests
- Feature flags · 6 tests
- Design systems · 5 tests
- Production debugging · 4 tests
- Advanced TypeScript · 6 tests
- Component patterns · 6 tests
- Accessibility · 7 tests
- Performance · 5 tests
- Suspense · 5 tests
- Effect timing · 5 tests
- External stores · 6 tests
- Design systems · 7 tests
- Migrating & upgrading · 5 tests
- Refs in depth · 8 tests
- Accessibility · 10 tests
- Accessibility · 11 tests
- Component patterns · 8 tests
- Component patterns · 10 tests
- Component patterns · 8 tests
- Server Actions · 8 tests
- Server Actions · 8 tests
- use() · 8 tests