到目前为止,我已经迁移到 RTK 并非常享受它,但我坚持的一件事是以下情况:
我们有(为了简单起见)两个端点:
- www.domain-customer.com <- 获取客户数据
- www.domain-order.com <- 可以在这里改变一些用户数据
该网站本身托管在另一个域上。
我需要从客户端点获取数据,但为了更新某些内容,我需要对订单端点进行突变。起初我以为我应该为每个基本 URL 定义一个 createApi,但后来我很确定我不能让无效。我想让这个先前的突变使客户的数据无效,以便重新获取新数据。
所以这就是我想出的,但如果这是前进的方式,我想提出一些意见。
export const customerApi = createApi({
reducerPath: "/../",
baseQuery: fetchBaseQuery({ baseUrl: "https://www.domain-customer.com/" }),
endpoints: (builder) => ({
// write provides tag stuff here
getCustomerExample: builder.query({ query: (name) => `customer/${name}` }),
// please ignore the details of the mutation, I haven't practiced much with it yet.
updateCustomer: builder.mutation({
queryFn: async (name) => {
const response = await fetch(
`https://www.domain-order.com/updateCustomer`,
{update mutation stuff here}
);
const data = await response.json();
return { data };
}
// write invalidate stuff here
})
})
});
这是解决问题的方法吗?或者甚至应该有一个巨大的 createAPI 来保存所有的突变和查询?