diff --git a/packages/react-reconciler/src/ReactFiberWorkLoop.js b/packages/react-reconciler/src/ReactFiberWorkLoop.js index d055b271ad77..555a75dacf72 100644 --- a/packages/react-reconciler/src/ReactFiberWorkLoop.js +++ b/packages/react-reconciler/src/ReactFiberWorkLoop.js @@ -1036,10 +1036,6 @@ export function scheduleUpdateOnFiber( if (enableTransitionTracing) { const transition = ReactSharedInternals.T; if (transition !== null && transition.name != null) { - if (transition.startTime === -1) { - transition.startTime = now(); - } - addTransitionToLanesMap(root, transition, lane); } } diff --git a/packages/react/src/ReactStartTransition.js b/packages/react/src/ReactStartTransition.js index 3e353a3b6153..987dc51a6294 100644 --- a/packages/react/src/ReactStartTransition.js +++ b/packages/react/src/ReactStartTransition.js @@ -42,6 +42,12 @@ function releaseAsyncTransition() { } } + +const now = + typeof performance === 'object' && typeof performance.now === 'function' + ? () => performance.now() + : () => Date.now(); + export function startTransition( scope: () => void, options?: StartTransitionOptions, @@ -65,7 +71,7 @@ export function startTransition( if (enableTransitionTracing) { currentTransition.name = options !== undefined && options.name !== undefined ? options.name : null; - currentTransition.startTime = -1; // TODO: This should read the timestamp. + currentTransition.startTime = now(); } if (__DEV__) { currentTransition._updatedFibers = new Set(); @@ -146,7 +152,7 @@ export function startGestureTransition( if (enableTransitionTracing) { currentTransition.name = options !== undefined && options.name !== undefined ? options.name : null; - currentTransition.startTime = -1; // TODO: This should read the timestamp. + currentTransition.startTime = now(); } if (__DEV__) { currentTransition._updatedFibers = new Set();