使用 RTK - Query(Redux Toolkit 的一部分)获取数据主要涉及以下步骤:
一、创建 API 服务
@reduxjs/toolkit
和 react - redux
。api.js
),使用 createApi
函数来定义 API 相关的操作。import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react'; export const api = createApi({ reducerPath: 'api', baseQuery: fetchBaseQuery({ baseUrl: 'https://your - api - domain.com' }), endpoints: (builder) => ({ getUser: builder.query({ query: (userId) => `/users/${userId}`, }), }), }); export const { useGetUserQuery } = api;
二、在 Redux Store 中注册 API 服务
import { configureStore } from '@reduxjs/toolkit'; import { api } from './api'; const store = configureStore({ reducer: { [api.reducerPath]: api.reducer, }, middleware: (getDefaultMiddleware) => getDefaultMiddleware().concat(api.middleware), }); export default store;
三、在组件中使用查询数据
useGetUserQuery
)。import React from 'react'; import { useGetUserQuery } from './api'; const UserProfile = ({ userId }) => { const { data, isLoading, isError } = useGetUserQuery(userId); if (isLoading) { return <div>Loading...</div>; } if (isError) { return <div>Error loading user data</div>; } return ( <div> <h1>{data.name}</h1> <p>{data.email}</p> </div> ); }; export default UserProfile;
RTK - Query 还有很多高级特性,比如缓存管理、自动重新获取数据(例如在相关参数变化时)、请求的并发控制等。它简化了 Redux 中的数据获取和管理流程,减少了样板代码。
领取专属 10元无门槛券
手把手带您无忧上云