const usePreviousProp = <T>({ prop, onPropChange }: UsePreviousPropProps<T>): T => {
  const [previousProp, setPreviousProp] = useState<T>(prop)

  useEffect(() => {
    if (previousProp !== prop) {