Co-authored-by: Joel <[email protected]> Co-authored-by: Yeuoly <[email protected]> Co-authored-by: JzoNg <[email protected]> Co-authored-by: StyleZhang <[email protected]> Co-authored-by: jyong <[email protected]> Co-authored-by: nite-knite <[email protected]> Co-authored-by: jyong <[email protected]>
17 lines
484 B
TypeScript
17 lines
484 B
TypeScript
import { useContext } from 'react'
|
|
import { useStore } from 'zustand'
|
|
import { FeaturesContext } from './context'
|
|
import type { FeatureStoreState } from './store'
|
|
|
|
export function useFeatures<T>(selector: (state: FeatureStoreState) => T): T {
|
|
const store = useContext(FeaturesContext)
|
|
if (!store)
|
|
throw new Error('Missing FeaturesContext.Provider in the tree')
|
|
|
|
return useStore(store, selector)
|
|
}
|
|
|
|
export function useFeaturesStore() {
|
|
return useContext(FeaturesContext)
|
|
}
|