首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用transformResponse映射道具的正确方法

用transformResponse映射道具的正确方法
EN

Stack Overflow用户
提问于 2022-06-20 22:12:01
回答 1查看 753关注 0票数 0

我正在努力将调度器组件与通过RTK查询api调用接收的数据连接起来。为了使调度程序工作,我必须在组件中状态可用之前,将道具名称调整为调度程序使用的名称(否则,当我尝试使用React组件时,它不会加载)。在RTK查询文档(https://redux-toolkit.js.org/rtk-query/usage/customizing-queries#customizing-query-responses-with-transformresponse)中没有这样做的明确例子,但这似乎是可能的。当我实现它时,查询就完成了,但是返回为一个空对象,或者一个包含一个空对象的数组,这取决于我试图构造它的方式。

代码语言:javascript
运行
复制
getUserScheduleVisits: builder.query({
            query: userId => `/visitapi/visits/users/${userId}`,
            providesTags: ['Visit', 'User'],
            transformResponse: (response) => {
                return {
                    data: [{
                        id: response._id,
                        startDate: response.visitStart,
                        endDate: response.visitEnd,
                        title: response?.client?.fullName
                    }]
                }
            },
        }),

当我在没有转换响应的情况下运行查询时,数据就会如期而至,但是我试图实现的Scheduler组件仍然无法使用。我仍然在学习RTK查询的复杂性,所以我确定我是如何尝试使用transformResponse的,我只是不知道如何正确地处理它。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-21 10:52:46

如果您执行result.data.data,这将最终成为const result = useMyQuery()

你可能是有意这么做的?

代码语言:javascript
运行
复制
getUserScheduleVisits: builder.query({
            query: userId => `/visitapi/visits/users/${userId}`,
            providesTags: ['Visit', 'User'],
            transformResponse: (response) => {
                return [{
                        id: response._id,
                        startDate: response.visitStart,
                        endDate: response.visitEnd,
                        title: response?.client?.fullName
                    }]
            },
        }),
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72693486

复制
相关文章

相似问题

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