首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >React工具箱查询--如何在同一个函数组件中使用多个查询

React工具箱查询--如何在同一个函数组件中使用多个查询
EN

Stack Overflow用户
提问于 2022-10-01 06:38:23
回答 1查看 192关注 0票数 1

您好,我坚持使用RTK查询在一个函数组件中获取多个数据。如果你知道出去的路,请帮忙。非常感谢。

我的目标我想用RTK查询获取两个api,两者都使用"GET“方法,基本url是相同的,唯一的区别是查询字符串。

如果我只在函数组件中设置一个查询,我就无法更改查询字符串,因为它将更改从获取的数据中呈现的数据。

因为新的数据集为原始数据提供了信息。我不能把这个组件分成两部分。

--我尝试过的--在我的RTK代码中的原始查询下面设置了另一个查询,如下所示。

代码语言:javascript
复制
export const createIssueApi = createApi({
  reducerPath: "createLabelApi",
  baseQuery: fetchBaseQuery({
    baseUrl: "https://api.github.com/repos",
  }),
  tagTypes: ["issues"],
  endpoints: (builder) => ({

...... original query above, new query I set below
getClosedIssues: builder.query<GetLebal[], Parameter>({
      query: ({ type, name, repo, query }) => ({
        url: `/${name}/${repo}/${type}${query}`,
        method: "GET",
        headers: new Headers({
          "Content-Type": "application/json",
          Authorization: `token ${process.env.REACT_APP_PASSWORD}`,
        }),
      }),
      providesTags: ["issues"],
    }),
  }),
});

然后,我尝试在如下所示的组件中使用这个查询来获取2API

代码语言:javascript
复制
 const { data } = useGetAllIssuesQuery({
    type: "issues",
    name: "some-name",
    repo: "some-issue",
    query: `query-1`,
  });
//I cannot change query-1 dynamically or else the data I rendered below will also be changed.

  const { data } = useGetClosedIssuesQuery({
    type: "issues",
    name: "some-name",
    repo: "some-issue",
    query: `query-2`,
  });

我遇到的问题是,我显然不能再次声明数据,但似乎RTK查询只允许我通过const{data}来重构api结果。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-01 07:05:40

所有查询挂钩都在钩子返回值中的data属性中返回获取的数据。这并不意味着您需要将其命名为data。在使用析构赋值时,还可以重命名正在销毁的属性。

示例:

代码语言:javascript
复制
const { data: allIssues } = useGetAllIssuesQuery(....);
const { data: closedIssues } = useGetClosedIssuesQuery(....);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73916319

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档