Bluesky app fork with some witchin' additions 馃挮 witchsky.app
bluesky fork client
120
fork

Configure Feed

Select the types of activity you want to include in your feed.

at a876aae44ea07494ebea9727350aa060b81f317b 23 lines 881 B view raw
1import {useCallback, useInsertionEffect, useRef} from 'react' 2 3// This should be used sparingly. It erases reactivity, i.e. when the inputs 4// change, the function itself will remain the same. This means that if you 5// use this at a higher level of your tree, and then some state you read in it 6// changes, there is no mechanism for anything below in the tree to "react" 7// to this change (e.g. by knowing to call your function again). 8// 9// Also, you should avoid calling the returned function during rendering 10// since the values captured by it are going to lag behind. 11export function useNonReactiveCallback<T extends Function>(fn: T): T { 12 const ref = useRef(fn) 13 useInsertionEffect(() => { 14 ref.current = fn 15 }, [fn]) 16 return useCallback( 17 (...args: any) => { 18 const latestFn = ref.current 19 return latestFn(...args) 20 }, 21 [ref], 22 ) as unknown as T 23}