CoastalCommitsPastes/client/lib/hooks/use-trace-route.ts

20 lines
492 B
TypeScript
Raw Normal View History

2022-03-23 18:34:23 -04:00
import { useRef, useEffect } from "react"
function useTraceUpdate(props: { [key: string]: any }) {
2022-03-23 18:42:22 -04:00
const prev = useRef(props)
useEffect(() => {
const changedProps = Object.entries(props).reduce((ps, [k, v]) => {
if (prev.current[k] !== v) {
ps[k] = [prev.current[k], v]
}
return ps
}, {} as { [key: string]: any })
if (Object.keys(changedProps).length > 0) {
console.log("Changed props:", changedProps)
}
prev.current = props
})
}
2022-03-23 18:34:23 -04:00
export default useTraceUpdate