将 react-query 与 TypeScript 一起使用
Posted
技术标签:
【中文标题】将 react-query 与 TypeScript 一起使用【英文标题】:Use react-query with TypeScript 【发布时间】:2021-12-27 22:03:20 【问题描述】:我正在尝试,并通过 ts 接口提供请求的结果。现在我有以下问题
“数据”的值是这个
但我无法访问它,因为我在界面中指定了结果
编辑:我忘了添加钩子和接口。【问题讨论】:
能否请您展示一下您的函数useCustomUser
的样子?
什么是 ICustomUser?
我添加了额外的截图@KlimovPeter :)
【参考方案1】:
好的,我修好了。将此添加到 fetchUser
函数中,现在它将只返回数据而不是整个请求。 ?
【讨论】:
【参考方案2】:如果您正确键入 fetchUser
函数,我们可以使这个类型安全。
首先我们有 fetcher 函数。这里我们指定数据的返回类型。在这种情况下,ICustomUser
并从 http
库中解构它,例如 axios
。
export async function fetchUser(id: string)
const data = await http.get<ICustomUser>(`devices/$id`);
return data;
那么当你返回你的useCustomUser
钩子时,返回的数据将是ICustomUser
类型。
// data will be of type ICustomUser
const data = useCustomHook();
另外,可能不需要键入useCustomHook
函数。 Typescript 会为你隐式输入这个。当您将鼠标悬停在 VS Code 中的函数上时,您可能会检查这一点。
【讨论】:
以上是关于将 react-query 与 TypeScript 一起使用的主要内容,如果未能解决你的问题,请参考以下文章
React-query 和 Typescript - 如何正确输入突变结果?
使用 React/Typescript 的 React-query 数据的 SetState
react-query:useQuery 返回 undefined 并且组件不会重新渲染
使用 MSW 测试 React-query,并将数据传递给子组件