Skip to content

Commit dad85ff

Browse files
authored
fix(react-tabster): use useLayoutEffect() for Tabster creation (#34315)
1 parent 9785544 commit dad85ff

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"type": "patch",
3+
"comment": "fix: use useLayoutEffect() for Tabster creation",
4+
"packageName": "@fluentui/react-tabster",
5+
"email": "[email protected]",
6+
"dependentChangeType": "patch"
7+
}

packages/react-components/react-tabster/src/hooks/useTabster.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import * as React from 'react';
22
import { createTabster, disposeTabster, Types as TabsterTypes } from 'tabster';
33
import { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';
4-
import { getParent, usePrevious } from '@fluentui/react-utilities';
4+
import { getParent, useIsomorphicLayoutEffect, usePrevious } from '@fluentui/react-utilities';
55

66
interface WindowWithTabsterShadowDOMAPI extends Window {
77
__tabsterShadowDOMAPI?: TabsterTypes.DOMAPI;
@@ -51,7 +51,7 @@ export function useTabster<FactoryResult>(factory = DEFAULT_FACTORY) {
5151
const { targetDocument } = useFluent();
5252
const factoryResultRef = React.useRef<FactoryResult | null>(null);
5353

54-
React.useEffect(() => {
54+
useIsomorphicLayoutEffect(() => {
5555
const tabster = createTabsterWithConfig(targetDocument);
5656

5757
if (tabster) {

0 commit comments

Comments
 (0)