mirror of
https://github.com/zhigang1992/react.git
synced 2026-02-06 17:19:02 +08:00
* feat(keyboard): create keyboard hooks * feat(usekeyboard): redesign event handler to match keyboard events from browser \ * test(usekeyboard): add testcase * docs(usekeyboard): create new hooks document
22 lines
392 B
TypeScript
22 lines
392 B
TypeScript
import { useEffect, useState } from 'react'
|
|
import { isBrowser } from './collections'
|
|
|
|
export type SSRState = {
|
|
isBrowser: boolean
|
|
isServer: boolean
|
|
}
|
|
|
|
const useSSR = (): SSRState => {
|
|
const [browser, setBrowser] = useState<boolean>(false)
|
|
useEffect(() => {
|
|
setBrowser(isBrowser())
|
|
}, [])
|
|
|
|
return {
|
|
isBrowser: browser,
|
|
isServer: !browser,
|
|
}
|
|
}
|
|
|
|
export default useSSR
|