修复设备列表无限请求数据的问题
This commit is contained in:
18
Cunkebao/components/ClientOnly.tsx
Normal file
18
Cunkebao/components/ClientOnly.tsx
Normal file
@@ -0,0 +1,18 @@
|
||||
"use client"
|
||||
|
||||
import { useState, useEffect, type ReactNode } from 'react'
|
||||
|
||||
/**
|
||||
* ClientOnly组件
|
||||
* 该组件专门用于包装那些只能在客户端渲染的内容,避免水合不匹配错误
|
||||
* 例如:使用了Math.random()、Date.now()或window对象的组件
|
||||
*/
|
||||
export default function ClientOnly({ children, fallback = null }: { children: ReactNode, fallback?: ReactNode }) {
|
||||
const [isClient, setIsClient] = useState(false)
|
||||
|
||||
useEffect(() => {
|
||||
setIsClient(true)
|
||||
}, [])
|
||||
|
||||
return isClient ? <>{children}</> : <>{fallback}</>
|
||||
}
|
||||
Reference in New Issue
Block a user