-
Notifications
You must be signed in to change notification settings - Fork 826
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[EuiDataGrid] Memoization & perf improvements #7556
Commits on Mar 7, 2024
-
[docs] Pull out all inline
renderCellValue
functions/components to ……static definitions - setting better perf examples for devs
Configuration menu - View commit details
-
Copy full SHA for 7b8bd12 - Browse repository at this point
Copy the full SHA 7b8bd12View commit details -
[tests] Pull out inline
renderCellValue
fns/components to static de……finitions + update snapshots
Configuration menu - View commit details
-
Copy full SHA for 871ff63 - Browse repository at this point
Copy the full SHA 871ff63View commit details -
Configuration menu - View commit details
-
Copy full SHA for 293bf9c - Browse repository at this point
Copy the full SHA 293bf9cView commit details -
Configuration menu - View commit details
-
Copy full SHA for e6888c5 - Browse repository at this point
Copy the full SHA e6888c5View commit details -
Add more complex
useMemo
usagessquash with complex useMemo
Configuration menu - View commit details
-
Copy full SHA for eea719d - Browse repository at this point
Copy the full SHA eea719dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4ed410a - Browse repository at this point
Copy the full SHA 4ed410aView commit details -
Configuration menu - View commit details
-
Copy full SHA for e1bdcb2 - Browse repository at this point
Copy the full SHA e1bdcb2View commit details -
Memoize
CellWrapper
+ rename it to match filename+ remove conditional `let`
Configuration menu - View commit details
-
Copy full SHA for 48d0220 - Browse repository at this point
Copy the full SHA 48d0220View commit details -
Cells - replace inline JSX with static component instead
- the inline jsx creates a new component every rerender, this does not
Configuration menu - View commit details
-
Copy full SHA for 30efd08 - Browse repository at this point
Copy the full SHA 30efd08View commit details
Commits on Mar 8, 2024
-
Configuration menu - View commit details
-
Copy full SHA for aeb74d6 - Browse repository at this point
Copy the full SHA aeb74d6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9c7d2d6 - Browse repository at this point
Copy the full SHA 9c7d2d6View commit details -
Memoize
useCellPopover
further- more granular breakup of memoized vars to reduce rerenders and increase readability
Configuration menu - View commit details
-
Copy full SHA for 1f00528 - Browse repository at this point
Copy the full SHA 1f00528View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7c18fe6 - Browse repository at this point
Copy the full SHA 7c18fe6View commit details -
Add new
useDeepEqual
hook service + update style overrides from `re……act-window` to use it
Configuration menu - View commit details
-
Copy full SHA for 3696a75 - Browse repository at this point
Copy the full SHA 3696a75View commit details -
- use new deep equal memoization hook to reduce rerenders on consumer-passed `sorting` and `sortingColumns` - separate out memoized `sortedRowMap` to reduce dependencies/rerenders further - rewrite `inMemoryRowIndices` more succinctly
Configuration menu - View commit details
-
Copy full SHA for 0dbd5bb - Browse repository at this point
Copy the full SHA 0dbd5bbView commit details -
EuiDataGrid cell memoizations/cleanup
- remove more inline jsx vars - move fn utilities to bottom of file + wrap in `memo()` - get rid of `cellContentProps` obj, just use props
Configuration menu - View commit details
-
Copy full SHA for b1ea642 - Browse repository at this point
Copy the full SHA b1ea642View commit details -
Fix
cellContext
no longer triggering rerenders- performance changes worked I guess!
Configuration menu - View commit details
-
Copy full SHA for 6982d58 - Browse repository at this point
Copy the full SHA 6982d58View commit details
Commits on Mar 11, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 2527be6 - Browse repository at this point
Copy the full SHA 2527be6View commit details -
[PR feedback] Remove
sorting
prop from context- `sorting` is _only_ used by header cells, so it makes sense to waterfall it just to the header row instead of to all cells (which causes rerenders across every cell every time `sorting` from a consumer is referentially unstable) + rename sorting context to `sorted` to make the purpose of the context it clearer + reorder props list slightly (by usage etc)
Configuration menu - View commit details
-
Copy full SHA for cd2dfb8 - Browse repository at this point
Copy the full SHA cd2dfb8View commit details
Commits on Mar 12, 2024
-
Memoize
useDataGridColumnSorting
+ return null earlier (which requires creating new component) + convert args to obj for easier reuse + clean up/convert tests to RTL, reduce snapshots
Configuration menu - View commit details
-
Copy full SHA for 8f01367 - Browse repository at this point
Copy the full SHA 8f01367View commit details