mirror of
https://github.com/langgenius/dify.git
synced 2026-05-06 02:18:08 +08:00
refactor: spilt context for better hmr (#33033)
This commit is contained in:
19
web/context/mitt-context.ts
Normal file
19
web/context/mitt-context.ts
Normal file
@ -0,0 +1,19 @@
|
||||
'use client'
|
||||
|
||||
import type { useMitt } from '@/hooks/use-mitt'
|
||||
import { noop } from 'es-toolkit/function'
|
||||
import { createContext, useContext, useContextSelector } from 'use-context-selector'
|
||||
|
||||
type ContextValueType = ReturnType<typeof useMitt>
|
||||
export const MittContext = createContext<ContextValueType>({
|
||||
emit: noop,
|
||||
useSubscribe: noop,
|
||||
})
|
||||
|
||||
export const useMittContext = () => {
|
||||
return useContext(MittContext)
|
||||
}
|
||||
|
||||
export function useMittContextSelector<T>(selector: (value: ContextValueType) => T): T {
|
||||
return useContextSelector(MittContext, selector)
|
||||
}
|
||||
Reference in New Issue
Block a user