데이터 캐시 병합을 위해 React 쿼리 및 데이터베이스 사용
소개:
현대 프런트엔드 개발에서 데이터 관리는 매우 중요한 부분입니다. 성능과 사용자 경험을 향상시키기 위해 일반적으로 서버에서 반환된 데이터를 캐시하고 이를 로컬 데이터베이스 데이터와 병합해야 합니다. React Query는 데이터 쿼리, 캐싱 및 업데이트를 처리하는 강력한 API를 제공하는 매우 인기 있는 데이터 캐싱 라이브러리입니다. 이 글에서는 데이터 캐시 병합을 위해 React Query와 데이터베이스를 사용하는 방법을 소개하고 구체적인 코드 예제를 제공합니다.
1단계: React Query 설치 및 구성
먼저 React Query를 설치해야 합니다. 터미널을 열고 다음 명령을 실행합니다:
npm install React-query
또는
yarn add React-query
다음으로 프로젝트에서 React Query에 대한 구성 파일을 만듭니다. src 디렉터리에 React-query-config.js라는 파일을 만들고 다음 콘텐츠를 추가합니다.
import { QueryClient, QueryClientProvider } from 'react-query';
const queryClient = new QueryClient();
export const QueryClientProviderWrapper = ({ children }) => (
{children}
);
여기에서는 queryClient라는 인스턴스를 생성하고 이를 QueryClientProvider 구성 요소에 할당합니다. 이렇게 하면 프로젝트 전체에서 React Query를 사용할 수 있습니다.
2단계: 데이터 API 생성
이제 서버에서 데이터를 가져와 React Query에 캐시하기 위한 데이터 API를 생성해야 합니다. API가 항목 목록을 가져오고 모든 항목이 포함된 배열을 반환하는 getItems() 메서드를 제공한다고 가정합니다. src 디렉터리에 api.js라는 파일을 만들고 다음 콘텐츠를 추가합니다.
import { queryClient } from './react-query-config';
export const getItems = async () => 서버에서 항목 데이터 가져오기
const response = wait fetch('/api/items');
const data = wait response.json()
queryClient.setQueryData(' items' , data);
};
여기에서는 fetch() 메서드를 사용하여 서버에서 데이터를 가져오고 queryClient.setQueryData() 메서드를 사용하여 데이터를 React Query에 캐시합니다.
다음으로 로컬 데이터베이스에서 데이터를 가져오기 위한 데이터베이스 API를 생성해야 합니다. 데이터베이스가 데이터베이스의 항목 목록을 가져오고 모든 항목이 포함된 배열을 반환하는 getItemsFromDatabase() 메서드를 제공한다고 가정합니다. src 디렉터리에 Database.js라는 파일을 만들고 다음 콘텐츠를 추가합니다.
// 데이터베이스에서 항목 데이터 가져오기
const items = ...
};
실제 애플리케이션에서는 사용하는 데이터베이스 유형과 해당 라이브러리에 따라 getItemsFromDatabase() 메서드를 구현해야 합니다.
이제 React Query와 데이터베이스 API를 사용하여 데이터를 병합할 수 있습니다. 구성 요소에서는 useQuery() 후크를 사용하여 데이터를 가져오고 useMutation() 후크를 사용하여 데이터 업데이트를 처리합니다. 다음은 기본 구성 요소 예시입니다.
import { getItems, getItemsFromDatabase } from './api';
const { data: serverData } = useQuery('items', getItems);
const { data: DatabaseData } = useQuery('itemsFromDatabase', getItemsFromDatabase);
// useMutation 후크를 사용하여 데이터 처리 update
// 在这里使用数据库API更新数据
// 캐시 데이터와 데이터베이스 데이터 병합
const mergedData = [...serverData, ...databaseData];
return (
{mergedData.map((item) => ({item.name}))}
);
};여기에서는 두 개의 useQuery 후크를 사용하여 서버와 데이터베이스에서 각각 데이터를 가져옵니다('items' 및 'itemsFromDatabase'를 쿼리 키로 전달). 그런 다음 useMutation 후크를 사용하여 데이터 업데이트를 처리합니다. 마지막으로 캐시 데이터를 데이터베이스 데이터와 병합하여 구성 요소에 표시합니다.
요약:
위 내용은 React Query와 데이터베이스를 사용한 데이터 캐시 병합의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!