refactor(web): add React Scan loader

This commit is contained in:
yyh 2025-12-29 15:54:20 +08:00
parent 303b168718
commit 39ef88b50f
No known key found for this signature in database
3 changed files with 26 additions and 2 deletions

View File

@ -1,2 +1,3 @@
export { ReactScan } from './react-scan' export { ReactScan } from './react-scan'
export { default as ReactScanLoader } from './react-scan-loader'
export { TanStackDevtoolsWrapper } from './tanstack-devtools' export { TanStackDevtoolsWrapper } from './tanstack-devtools'

View File

@ -0,0 +1,23 @@
'use client'
import { lazy, Suspense } from 'react'
import { IS_DEV } from '@/config'
const ReactScan = lazy(() =>
import('./react-scan').then(module => ({
default: module.ReactScan,
})),
)
const ReactScanLoader = () => {
if (!IS_DEV)
return null
return (
<Suspense fallback={null}>
<ReactScan />
</Suspense>
)
}
export default ReactScanLoader

View File

@ -8,7 +8,7 @@ import { getLocaleOnServer } from '@/i18n-config/server'
import { DatasetAttr } from '@/types/feature' import { DatasetAttr } from '@/types/feature'
import { cn } from '@/utils/classnames' import { cn } from '@/utils/classnames'
import BrowserInitializer from './components/browser-initializer' import BrowserInitializer from './components/browser-initializer'
import { ReactScan } from './components/devtools' import { ReactScanLoader } from './components/devtools'
import I18nServer from './components/i18n-server' import I18nServer from './components/i18n-server'
import SentryInitializer from './components/sentry-initializer' import SentryInitializer from './components/sentry-initializer'
import RoutePrefixHandle from './routePrefixHandle' import RoutePrefixHandle from './routePrefixHandle'
@ -90,7 +90,7 @@ const LocaleLayout = async ({
className="color-scheme h-full select-auto" className="color-scheme h-full select-auto"
{...datasetMap} {...datasetMap}
> >
<ReactScan /> <ReactScanLoader />
<ThemeProvider <ThemeProvider
attribute="data-theme" attribute="data-theme"
defaultTheme="system" defaultTheme="system"