【发布时间】:2021-11-08 13:26:56
【问题描述】:
我在解决常见问题时遇到了麻烦,应该由 RTKQuery 处理。
当我的应用程序启动时,它将加载configuration。此配置将包含 baseUrl、标头中使用的一些数据等内容。
我使用createApi(...) 来创建配置切片:
export interface Configuration {
baseUrl: string;
language: string;
}
export const configurationApi = createApi({
reducerPath: "configuration",
baseQuery: fetchBaseQuery({ baseUrl: "/api" }),
endpoints: (builder) => ({
loadConfiguration: builder.query<Configuration, unknown>({ //the generic expects second arugment...
query: () => "/configuration",
}),
}),
});
我想在以下请求中使用加载配置的 baseUrl 和语言。文档指出 prepareHeaders 是正确的地方:
export const testApi = createApi({
reducerPath: "test",
baseQuery: fetchBaseQuery({
baseUrl: "/api", //need this from configuration
prepareHeaders: (headers, { getState }) => {
const state = getState() as RootState;
// nees to get language from configuration
我无法从configuration 中的testApi 访问结果
我在文档/示例中找不到如何访问任何端点的数据。
假设我们有端点loadUser:
endpoints: (builder) => ({
loadUser: builder.query<Partial<UserResponse>, UserRequest>({
query: ({ userId }) => ({
url: "/api/user"
}),
}),
}),
是否有简单的方法来访问最新数据(关于用户 ID,只是用户端点的最新数据)? 看起来这应该是微不足道的,但似乎不是。
提前致谢。
【问题讨论】:
标签: redux redux-toolkit rtk-query rtk