美文网首页
TypeScript : typeof的使用场景之一

TypeScript : typeof的使用场景之一

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

我们先来看下以下代码

export const http = async (endpoint: string, { data, token, headers, ...customConfig }: Config) => {
    // xxx
    // xxx
}

export const useHttp = () => {
  // 这里可以优化的地方 [string, Config] 这个类型其实与我们定义的函数http的类型是一模一样的
  // 有没有一种方法让我们直接从http函数获取的入参的类型,而不是需要重复写一遍
  // 有呀,那就是通过 Parameters<typeof http> 来解决,拿到http的类型
  return ([endpoint, config]: [string, Config]) => {
    // xxx
  }

}

我们看到的上面的代码,以及注释,我们的目的就是想快速拿到函数http入参的TS类型,解决方案如下

export const useHttp = () => {
  const { user } = useAuth()

  // 这里可以优化的地方 [string, Config] 这个类型其实与我们定义的函数http的类型是一模一样的
  // 有没有一种方法让我们直接从http函数获取的入参的类型,而不是需要重复写一遍
  // 有呀,那就是通过 Parameters<typeof http> 来解决,拿到http的类型
  // return ([endpoint, config]: [string, Config]) => {
  //   http(endpoint, { ...config, token: user?.token })
  // }

  return ([endpoint, config]: Parameters<typeof http>) => {
    http(endpoint, { ...config, token: user?.token })
  }
}

使用Parameters<typeof http> 解决

相关文章

  • TypeScript : typeof的使用场景之一

    我们先来看下以下代码 我们看到的上面的代码,以及注释,我们的目的就是想快速拿到函数http入参的TS类型,解决方案...

  • TypeScript类型缩小

    TypeScript类型缩小 类型缩小实例: 缩小后: typeof类型守卫

  • TypeScript中 typeof ArrayInstance

    假设这样一个场景,目前业务上仅对接了三方支付 'Alipay', 'Wxpay', 'PayPal', 实际业务...

  • [TypeScript] type、typeof、keyof

    typescript 一点一点的知道~ 1、type type用于定义类型,常用于定义类型别名(类型别名就是用来给...

  • JS中typeOf方法注意点

    方法使用场景:判断数据的类型 (基本数据类型/复杂数据类型) 问题:我使用typeOf来判断 null 和obje...

  • typeof使用

    为了区分对象的类型,我们用typeof操作符获取对象的类型,它总是返回一个字符串: 总结一下,有这么几条规则需要遵...

  • Typeof的使用

    Typeof我们可能使用的多,都知道是用来返回一个数据类型的字符串。在某些情况下很有用,返回对应的数据类型,有un...

  • 【译】应避免使用的TypeScript特性

    正文 本文列举了四个建议避免使用的TypeScript特性。根据使用实际场景,你可能有很好的理由去使用这些特性,但...

  • TypeScript类型判断typeof,instanceof,

    结果:

  • js中的类型转换

    [js中的类型转换] 先介绍一下 typeof 的使用方法: typeof(mix) 或者 typeof ...

网友评论

      本文标题:TypeScript : typeof的使用场景之一

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