Redux RTK查询:如何返回硬编码的数据模型?

lzfw57am  于 2023-04-06  发布在  其他
关注(0)|答案(1)|浏览(99)

我正在使用Redux RTK查询,我有以下连接FE和BE的方法:

export const subscriptionServiceApi = createApi({
  reducerPath: "...",
  baseQuery: fetchBaseQuery({
    baseUrl: ...,
    prepareHeaders: ...,
  tagTypes: [...],
  endpoints: (builder) => ({
    getSomeData: builder.query<QuoteRes, string>({
      query: (param_id) => `example/${param_id}`
    }),
  })
})

这一切都很好,只要我有服务器和运行。但不是所有的端点都准备好了在服务器端(我有他们的数据模型的格式)。上面的代码,放置一个GET请求到{baseUrl}/example/{param_id},这返回响应{ some_field: some_value }
现在,假设我们根本没有服务器损坏,在getSomeData代码块中是否有一种简单的方法来返回硬编码的数据模型?例如,类似于:

export const subscriptionServiceApi = createApi({
  reducerPath: "...",
  baseQuery: fetchBaseQuery({
    baseUrl: ...,
    prepareHeaders: ...,
  tagTypes: [...],
  endpoints: (builder) => ({
    getSomeData: { some_field: some_value }
  })
})

我不想有任何BE工作,我只需要让FE使用硬编码的数据模型。我可以通过导出数据模型并将其导入react组件来实现这一点,但如果我这样做,稍后我需要返回代码并重新处理FE与BE连接的部分。我的担忧是,这应该以一种简单且可重用的方式完成。这就是为什么我需要的连接已经模拟与Redux RTK查询,一旦FE工作完成,我可以只注解/取消注解getSomeData下的行,数据将被替换为数据从BE,而不需要做进一步的调整。
返回getSomeData部分下的硬编码模型的正确方法是什么?

ccgok5k5

ccgok5k51#

虽然从技术上讲,您可以使用queryFn来实现这一点,但我强烈建议您使用mock service worker之类的东西来临时伪造外部API。这样,您可以编写“最终”RTK查询代码,只需根据需要切换模拟API,而无需更改应用程序代码。

相关问题