我正在努力将调度器组件与通过RTK查询api调用接收的数据连接起来。为了使调度程序工作,我必须在组件中状态可用之前,将道具名称调整为调度程序使用的名称(否则,当我尝试使用React组件时,它不会加载)。在RTK查询文档(https://redux-toolkit.js.org/rtk-query/usage/customizing-queries#customizing-query-responses-with-transformresponse)中没有这样做的明确例子,但这似乎是可能的。当我实现它时,查询就完成了,但是返回为一个空对象,或者一个包含一个空对象的数组,这取决于我试图构造它的方式。
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的,我只是不知道如何正确地处理它。
发布于 2022-06-21 10:52:46
如果您执行result.data.data
,这将最终成为const result = useMyQuery()
。
你可能是有意这么做的?
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
}]
},
}),
https://stackoverflow.com/questions/72693486
复制相似问题