'T' 可以用与

编程入门 行业动态 更新时间:2024-10-04 01:19:42

'T' <a href=https://www.elefans.com/category/jswz/34/1766361.html style=可以用与"/>

'T' 可以用与

我正在 Next.js 中创建端点。我想强制执行从 API 端点返回的 JSON 结构,如果我可以推断端点的返回类型并在我的 React 组件中使用它,那就太好了。

我收到一个错误,我无法准确指出修复方法。这是给出 TypeError 的代码的最小复制:

interface TestApiResponse<T> {
  number: number
  body: T
}

const testHandler = async <T>(): Promise<TestApiResponse<T>> => {
  return {
    number: 12,
    body: {
      slug: 'my-slug',
    },
  }
}

export default createEndpoint(handler)

body
给出错误:
TS2322: Type '{ slug: string; }' is not assignable to type 'T'. 'T' could be instantiated with an arbitrary type which could be unrelated to '{ slug: string; }'.

与问题无关,但可能适合您的情况。这是 createEndpoint 函数:

export function createEndpoint<T>(
  handler: (req: NextApiRequest) => Promise<TestApiResponse<T>>
) {
  return async function (req: NextApiRequest, res: NextApiResponse) {
    try {
      const response = await handler(req)
      res.status(response.status).json(response.data)
    } catch (err) {
      console.error(err)
    }
  }
}
回答如下:

更多推荐

'T' 可以用与

本文发布于:2024-05-31 03:52:01,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1771244.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:可以用

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!