fix(core): add null checks for timeout refs and event listeners for React 19 compatibility (#9116)
## Description - Add null checks before clearTimeout calls in colorful-fallback.tsx, edgeless.dialog.tsx, and local.dialog.tsx - Fix event listener cleanup in unfolding.tsx - Update tsconfig.jsx to use react-jsx transform ## Testing - [x] Verified type safety improvements for React 19 compatibility - [x] Ensured proper cleanup of event listeners and timeouts - [x] Confirmed no unintended side effects from the changes Link to Devin run: https://app.devin.ai/sessions/2e790f3ea0d84402837ec6c3c6f83e4c
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import { DualLinkIcon } from '@blocksuite/icons/rc';
|
||||
import { cssVarV2 } from '@toeverything/theme/v2';
|
||||
import type { ReactElement } from 'react';
|
||||
import type { ReactElement, SVGAttributes } from 'react';
|
||||
import type { To } from 'react-router-dom';
|
||||
|
||||
import { MenuLinkItem } from './index';
|
||||
@@ -28,7 +28,7 @@ export const ExternalMenuLinkItem = ({
|
||||
label,
|
||||
}: {
|
||||
href: string;
|
||||
icon: ReactElement;
|
||||
icon: ReactElement<SVGAttributes<SVGElement>>;
|
||||
label: string;
|
||||
}) => {
|
||||
return (
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
import { WorkbenchLink } from '@affine/core/modules/workbench';
|
||||
import { ArrowDownSmallIcon } from '@blocksuite/icons/rc';
|
||||
import clsx from 'clsx';
|
||||
import React from 'react';
|
||||
import React, { type SVGAttributes } from 'react';
|
||||
import type { To } from 'react-router-dom';
|
||||
|
||||
import * as styles from './index.css';
|
||||
|
||||
export interface MenuItemProps extends React.HTMLAttributes<HTMLDivElement> {
|
||||
icon?: React.ReactElement;
|
||||
icon?: React.ReactElement<SVGAttributes<SVGElement>>;
|
||||
active?: boolean;
|
||||
disabled?: boolean;
|
||||
// true, false, undefined. undefined means no collapse
|
||||
|
||||
Reference in New Issue
Block a user