Skip to content

Commit 638c8ec

Browse files
committed
chore(website): useLayoutEffect for page transitions
1 parent 60a8825 commit 638c8ec

File tree

3 files changed

+6
-6
lines changed

3 files changed

+6
-6
lines changed

packages/documentation/src/components/Layout/Layout.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import type { ReactElement, ReactNode } from "react";
2-
import { useEffect, useRef, useState } from "react";
2+
import { useEffect, useRef, useState, useLayoutEffect } from "react";
33
import type { ConfiguredIcons } from "@react-md/icon";
44
import type { LayoutConfiguration } from "@react-md/layout";
55
import {
@@ -95,7 +95,7 @@ export default function Layout({
9595

9696
const prevPathname = useRef(pathname);
9797
const { elementProps, transitionTo } = useCrossFadeTransition();
98-
useEffect(() => {
98+
useLayoutEffect(() => {
9999
if (prevPathname.current === pathname) {
100100
return;
101101
}

packages/documentation/src/guides/configuring-your-layout.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -333,7 +333,7 @@ cross fade transition on route changes with the `useCrossFadeTransition` hook.
333333

334334
```diff
335335
-import { ReactElement } from "react";
336-
+import { ReactElement, useRef } from "react";
336+
+import { ReactElement, useRef, useLayoutEffect } from "react";
337337
import { Layout, useLayoutNavigation } from "@react-md/layout";
338338
+import { useCrossFadeTransition } from "@react-md/transition";
339339
import { useLocation, Link } from "react-router-dom";
@@ -346,7 +346,7 @@ cross fade transition on route changes with the `useCrossFadeTransition` hook.
346346
const { pathname } = useLocation();
347347
+ const prevPathname = useRef(pathname);
348348
+ const { elementProps, transitionTo } = useCrossFadeTransition();
349-
+ useEffect(() => {
349+
+ useLayoutEffect(() => {
350350
+ if (pathname === prevPathname.current) {
351351
+ return
352352
+ }

packages/transition/src/useCrossFadeTransition.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ export interface CrossFadeTransitionHookOptions<E extends HTMLElement>
6868
* @example
6969
* New Page Transition with `@react-md/layout`
7070
* ```tsx
71-
* import { ReactElement, ReactNode, useEffect } from "react";
71+
* import { ReactElement, ReactNode, useLayoutEffect } from "react";
7272
* import { useLocation } from "react-router-dom":
7373
* import { Layout, useLayoutNavigation } from "@react-md/layout";
7474
* import { useCrossFadeTransition } from "@react-md/transition";
@@ -84,7 +84,7 @@ export interface CrossFadeTransitionHookOptions<E extends HTMLElement>
8484
* const { elementProps, transitionTo } = useCrossFadeTransition();
8585
*
8686
* const prevPathname = useRef(pathname);
87-
* useEffect(() => {
87+
* useLayoutEffect(() => {
8888
* if (prevPathname.current === pathname) {
8989
* return
9090
* }

0 commit comments

Comments
 (0)