chore: upgrade to react 19

This commit is contained in:
wonfen
2025-05-14 10:47:33 +08:00
parent d1a2bd78d7
commit 1993e5dd51
7 changed files with 1245 additions and 1233 deletions

View File

@@ -97,7 +97,7 @@ export const EditorViewer = <T extends Language>(props: Props<T>) => {
onClose,
} = props;
const editorRef = useRef<monaco.editor.IStandaloneCodeEditor>();
const editorRef = useRef<monaco.editor.IStandaloneCodeEditor>(undefined);
const prevData = useRef<string | undefined>("");
const currData = useRef<string | undefined>("");

View File

@@ -12,7 +12,7 @@ export const FileInput = (props: Props) => {
const { t } = useTranslation();
// file input
const inputRef = useRef<any>();
const inputRef = useRef<any>(undefined);
const [loading, setLoading] = useState(false);
const [fileName, setFileName] = useState("");

View File

@@ -117,7 +117,7 @@ const LetterItem = memo(
top: 0,
right: 0,
});
const hoverTimeoutRef = useRef<ReturnType<typeof setTimeout>>();
const hoverTimeoutRef = useRef<ReturnType<typeof setTimeout>>(undefined);
const updateTooltipPosition = useCallback(() => {
if (!letterRef.current) return;

View File

@@ -29,13 +29,13 @@ export function GuardState<T>(props: Props<T>) {
const lockRef = useRef(false);
const saveRef = useRef(value);
const lastRef = useRef(0);
const timeRef = useRef<any>();
const timeRef = useRef<any>(undefined);
if (!isValidElement(children)) {
return children as any;
}
const childProps = { ...children.props };
const childProps = { ...(children.props as Record<string, any>) };
childProps[valueProps] = value;
childProps[onChangeProps] = async (...args: any[]) => {

View File

@@ -24,7 +24,6 @@ import "dayjs/locale/ru";
import "dayjs/locale/zh-cn";
import { getPortableFlag } from "@/services/cmds";
import React from "react";
import { TransitionGroup, CSSTransition } from "react-transition-group";
import { useListen } from "@/hooks/use-listen";
import { listen } from "@tauri-apps/api/event";
import { useClashInfo } from "@/hooks/use-clash";
@@ -391,15 +390,9 @@ const Layout = () => {
{OS !== "macos" && <LayoutControl />}
</div>
<TransitionGroup className="the-content">
<CSSTransition
key={location.pathname}
timeout={300}
classNames="page"
>
{React.cloneElement(routersEles, { key: location.pathname })}
</CSSTransition>
</TransitionGroup>
<div className="the-content">
{React.cloneElement(routersEles, { key: location.pathname })}
</div>
</div>
</Paper>
</ThemeProvider>