

For example, resizing the list, or passing in new props, or forcing an update change cause pages to shrink/grow. However, certain operations can make measure data stale. And we start doing measurements and rendering in virtualized mode when items grows larger than this threshold. When onShouldVirtualize return false, List will run in fast mode (not virtualized) to render all items without any measurements to improve page load time. To optimize glass rendering performance, onShouldVirtualize can be set. To compensate, we cache measured values so that we can avoid re-measuring during operations that should not alter heights, like scrolling. Measuring too frequently can pull performance down significantly. If measurements don't match predictions, update measure data and goto step 1 asynchronously For pages that are added, measure the page heights if we need to using getBoundingClientRect 4. If changes are necessary, apply changes (add/remove pages) 3. Predict visible pages based on "current measure data" (page heights, surface position, visible window) 2.The algorithm for rendering pages works like this: Each page's height is determined by the getPageHeight callback if provided by the caller, or by cached measurements if available, or by a running average, or a default fallback.

Each page's item count is determined by the getItemCountForPage callback if provided by the caller, or 10 as default. The List renders virtualized pages of items. This class is responsible for handling registering, updating, and unregistering of keytips ( )Ī callout corresponding to another Fabric component to describe a key sequence that will activate that component It uses personas without secondary text when displaying search results.Ĭomponent for rendering columns in a DetailsList.įacePile with no default styles. Use the individual *Button components instead.Ĭompact layout.
