Code splitting divides an application into separately loadable bundles instead of sending all code to the browser initially. Less-used routes or bulky components load when users need them, reducing the initial bundle. section 11.0
React combines dynamic import with lazy to load components on demand and Suspense to render fallback UI while they are unavailable. This keeps rendering declarative rather than manually updating the DOM. section 11.2
Split an application by route
A bookings app can lazy-load its Bookings, Bookables, and Users pages. Visiting Users loads that page and its dependencies, while a PageSpinner appears; unused page code remains unloaded. Nested Bookables routes can split their view, edit, and new-form components similarly. section 11.2.4
