您好,我坚持使用RTK查询在一个函数组件中获取多个数据。如果你知道出去的路,请帮忙。非常感谢。
我的目标我想用RTK查询获取两个api,两者都使用"GET“方法,基本url是相同的,唯一的区别是查询字符串。
如果我只在函数组件中设置一个查询,我就无法更改查询字符串,因为它将更改从获取的数据中呈现的数据。
因为新的数据集为原始数据提供了信息。我不能把这个组件分成两部分。
--我尝试过的--在我的RTK代码中的原始查询下面设置了另一个查询,如下所示。
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
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结果。
发布于 2022-10-01 07:05:40
所有查询挂钩都在钩子返回值中的data属性中返回获取的数据。这并不意味着您需要将其命名为data。在使用析构赋值时,还可以重命名正在销毁的属性。
示例:
const { data: allIssues } = useGetAllIssuesQuery(....);
const { data: closedIssues } = useGetClosedIssuesQuery(....);https://stackoverflow.com/questions/73916319
复制相似问题