我在解决常见问题时遇到了麻烦,应该由 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,只是用户端点的最新数据)?看起来这应该是微不足道的,但似乎并非如此。
提前致谢。