Skip to content

Commit 170fef8

Browse files
authored
fix: use effect for theme sync (#2961)
1 parent 93f4ee3 commit 170fef8

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

packages/core/src/theme/logic/useScrollAfterNav.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { useLocation } from '@rspress/core/runtime';
2-
import { useEffect } from 'react';
2+
import { useLayoutEffect } from 'react';
33

44
/**
55
* Parse CSS length value to number (in pixels)
@@ -49,7 +49,7 @@ function scrollToTarget(target: HTMLElement) {
4949
export function useScrollAfterNav() {
5050
const location = useLocation();
5151

52-
useEffect(() => {
52+
useLayoutEffect(() => {
5353
const decodedHash = decodeURIComponent(window.location.hash);
5454
if (decodedHash.length > 0) {
5555
const target = document.getElementById(decodedHash.slice(1));

packages/core/src/theme/logic/useScrollReset.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { useEffect } from 'react';
1+
import { useLayoutEffect } from 'react';
22
import { useLocation } from 'react-router-dom';
33

44
/**
@@ -8,7 +8,7 @@ import { useLocation } from 'react-router-dom';
88
export function useScrollReset() {
99
const { pathname } = useLocation();
1010

11-
useEffect(() => {
11+
useLayoutEffect(() => {
1212
const decodedHash = decodeURIComponent(window.location.hash);
1313
if (decodedHash.length === 0) {
1414
window.scrollTo(0, 0);

0 commit comments

Comments
 (0)