useHash
Read and write URL hash.
Import
import { useHash } from '@tidbcloud/uikit'Usage
useHash returns hash from URL, subscribes to its changes with the hashchange event, and allows changing it with setHash function.
import { useHash } from '@tidbcloud/uikit'
import { Button, Text, Group } from '@tidbcloud/uikit'
function Demo() {
const [hash, setHash] = useHash()
return (
<>
<Text>Current hash: {hash || 'none'}</Text>
<Group>
<Button onClick={() => setHash('section-1')}>Go to section 1</Button>
<Button onClick={() => setHash('section-2')}>Go to section 2</Button>
</Group>
</>
)
}Initial State Value
By default, useHash retrieves value in useEffect. If you want to get the initial value immediately:
import { useHash } from '@tidbcloud/uikit'
const [hash, setHash] = useHash({ getInitialValueInEffect: false })Note: This option is not compatible with server-side rendering.
Definition
interface UseHashOptions {
getInitialValueInEffect?: boolean
}
type UseHashReturnValue = [string, (value: string) => void]
function useHash(options?: UseHashOptions): UseHashReturnValue