Lessons

1One user action crosses several versions of reality60 min read

Trace browser draft, server state, and an in-flight request without mixing them.

  • →Assign state to its authoritative owner
  • →Distinguish render snapshots from later events
Read lesson
2Optimistic interfaces need a reconciliation rule60 min read

Handle two optimistic changes and one failed response without erasing valid work.

  • →Reconcile optimistic updates with authoritative results
Read lesson
3A server-rendered component is still a data boundary60 min read

Review a data path for server authorization, client exposure, and cache identity.

  • →Enforce authorization at the server boundary
  • →Keep private data out of shared caches and client payloads
Read lesson
4Make form failures usable without a mouse60 min read

Specify validation, pending, error, and success behavior for an accessible save flow.

  • →Design recoverable and accessible form states
Read lesson

Skills in this course

  1. 01Assign state to its authoritative ownerAssign state to its authoritative owner.
  2. 02Distinguish render snapshots from later eventsDistinguish render snapshots from later events.
  3. 03Reconcile optimistic updates with authoritative resultsReconcile optimistic updates with authoritative results.
  4. 04Enforce authorization at the server boundaryEnforce authorization at the server boundary.
  5. 05Keep private data out of shared caches and client payloadsKeep private data out of shared caches and client payloads.
  6. 06Design recoverable and accessible form statesDesign recoverable and accessible form states.