Unit 03 of 03
Performance and Production
Virtualized list settings, frame rate and profiling, bundle size and startup, debugging tools, testing, writing native modules, build and release.
Published Updated
Lessons
- 01 List Performance Measures what happens to the row nodes when an item is added to the front of a list. With index matching, the contents of the rows shift; with a stable key, the same insertion yields a single mounted node. 13 min read
- 02 Frame Rate and Profiling Measures that an update which produces the tree three times can give zero commands. A re-render and a command are told apart; memoization lowers the counter, not the command. 14 min read
- 03 Bundle Size and Startup When a deferred screen is loaded, the placeholder is unmounted and the screen's node is mounted. The lesson measures that lazy loading changes the time of mounting, not the fate. 14 min read
- 04 Debugging Tools An error boundary unmounts the broken subtree and mounts the fallback. The lesson measures that the same panel is updated when a prop changes, is unmounted when it throws, and loses its identity when unmounted. 14 min read
- 05 Testing A test compares the update's expected list of records with the actual list of records. The lesson measures that pressing a button updates the text, and what a test cannot see. 14 min read
- 06 Writing Native Modules A native module is the bridge through which the JavaScript side calls platform-specific code. The lesson measures that a native map view is a single node in the tree and that this node is updated when the center changes. 14 min read
- 07 Build and Release In development, fast refresh updates the node in place, while a full reload unmounts the root. The lesson measures this difference and gathers the fates of twenty lessons in a single table. 13 min read