diff --git a/packages/eui/changelogs/upcoming/8698.md b/packages/eui/changelogs/upcoming/8698.md new file mode 100644 index 00000000000..e13e3f073dc --- /dev/null +++ b/packages/eui/changelogs/upcoming/8698.md @@ -0,0 +1,4 @@ +**Bug fixes** + +- Fixed an issue with `EuiDataGrid` where navigating cells with simultaneous key presses would result in a crash in React 18 legacy mode + diff --git a/packages/eui/src/components/datagrid/utils/focus.ts b/packages/eui/src/components/datagrid/utils/focus.ts index e20d4bfd9c9..b7bda5d13c1 100644 --- a/packages/eui/src/components/datagrid/utils/focus.ts +++ b/packages/eui/src/components/datagrid/utils/focus.ts @@ -9,7 +9,7 @@ import { createContext, useCallback, - useEffect, + useLayoutEffect, useMemo, useRef, useState, @@ -81,7 +81,7 @@ export const useFocus = (): DataGridFocusContextShape & { ); const previousCell = useRef(undefined); - useEffect(() => { + useLayoutEffect(() => { if (previousCell.current) { notifyCellOfFocusState( cellsUpdateFocus.current,