我在我的项目中成功使用 RTK 查询,但我有 8 个标签/数据集,每个标签/数据集都需要 getOne、getAll、添加、更新、删除、取消删除查询/突变,有些还需要更多。它变得很难管理,所以我尝试使用injectEndpoints使用https://redux.js.org/tutorials/essentials/part-8-rtk-query-advanced#injecting-上的教程按标签分割查询端点。
不幸的是,当使用他们的代码结构时,我收到一个错误Uncaught ReferenceError: builder is not defined
。我错过了什么吗?
import { apiSlice } from "./apiSlice";
export const accountsSlice = apiSlice.injectEndpoints({
endpoints: builder ({
getAccounts: build.query({
query: () => ({
url: '/api/accounts',
method: 'get'
}),
providesTags: (result, error, arg) => [{ type: 'Account', id: arg }]
}),
getAccount: build.query({
query: accountId => ({
url: `/api/accounts/${accountId}`,
method: 'get',
}),
providesTags: (result, error, arg) => [{ type: 'Account', id: arg }]
}),
addAccount: build.mutation({
query: (account) => {
console.log('account data:', account);
return {
url: `/api/accounts/store`,
method: 'post',
data: account
}
},
invalidatesTags: (result, error, arg) => [{ type: 'Account'}]
}),
updateAccount: build.mutation({
query: (account) => {
console.log('account data:', account);
return {
url: `/api/accounts/${account.acc_id}/update`,
method: 'patch',
data: account
}
},
invalidatesTags: (result, error, arg) => [{ type: 'Account', id: arg.id}]
}),
})
})