react-native-ajora
Version:
The most complete AI agent UI for React Native
22 lines (19 loc) • 623 B
text/typescript
import { DependencyList, useLayoutEffect, useRef } from 'react'
/**
* A custom useEffect hook that only triggers on updates, not on initial mount
* Idea stolen from: https://stackoverflow.com/a/55075818/1526448
* @param {()=>void} effect the function to call
* @param {DependencyList} dependencies the state(s) that fires the update
*/
export function useUpdateLayoutEffect (
effect: () => void,
dependencies: DependencyList = []
) {
const isInitialMount = useRef(true)
useLayoutEffect(() => {
if (isInitialMount.current)
isInitialMount.current = false
else
effect()
}, dependencies)
}