账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    typescript 可选参数是泛型如何给其默认参数?
    • 2020-01-01 00:00
    • 11
    43
    0
    export interface PageModelParams {
      pageIndex: number
      pageSize: number
    }
    
    export default function usePageModel<T extends Object, P extends PageModelParams = PageModelParams>(
      path: string,
      _params: P,
    ) {
      const [data, setData] = useState<T[]>([])
      const [params, setParams] = useState<P>(_params)
    
      /**
       * 拉数据
       */
      useEffect(
        function() {
          request
            .get<T[]>(path, {
              params,
            })
            .then(setData)
        },
        [params, path],
      )
    
      return {
        data,
        setParams,
      }
    }

    其中_params参数我想做成可选的,如果没有就用一个PageModelParams作为默认值
    但是改为可选参数之后会显示'P' could be instantiated with a different subtype of constraint 'PageModelParams'

    1
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 0
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部