tabby/ee/tabby-ui/lib/hooks/use-store.ts

16 lines
312 B
TypeScript

import React from 'react'
export const useStore = <T, F>(
store: (callback: (state: T) => unknown) => unknown,
callback: (state: T) => F
) => {
const result = store(callback) as F
const [data, setData] = React.useState<F>()
React.useEffect(() => {
setData(result)
}, [result])
return data
}