美文网首页
TypeScript :什么情况会用到泛型?

TypeScript :什么情况会用到泛型?

作者: 这个超人不会飞阿 | 来源:发表于2022-07-12 14:53 被阅读0次

    我们先来看个例子,这个场景我们经常在开发的过程中会用到

    import { useEffect, useState } from 'react'
    
    export function useDebounce(initialValue: any, delay?: number): any {
      const [debounceValue, setDebounceValue] = useState(initialValue)
    
      useEffect(() => {
        let timer = setTimeout(() => {
          setDebounceValue(initialValue)
        }, delay)
        return () => {
          clearTimeout(timer)
        }
      }, [initialValue, delay])
    
      return debounceValue
    }
    
    

    看上面的代码块,如果我们是TS的新手,那么我们会问,此刻我们传入的 initialValue 的类型应该是什么?我们不知道它会传入什么类型,所以大多数情况我们会给它一个 any ,最后它返回的 return debounceValue 也是any类型,这样是非常不好的,我们无法推断出 debounceValue 是什么类型?完全也失去了使用TypeScript的价值。

    因此我们想问,我们如何能够做到,传入的 initialValue 是什么类型,那么我们返回的 debounceValue也是什么类型,此刻我们就可以通过 泛型来解决这个问题。

    相关文章

      网友评论

          本文标题:TypeScript :什么情况会用到泛型?

          本文链接:https://www.haomeiwen.com/subject/qwkabrtx.html