From 61b86ca8ffa91bd0a1f703fb7fe0c4ca9b7e3695 Mon Sep 17 00:00:00 2001 From: heejin Date: Tue, 3 Jun 2025 01:03:32 +0900 Subject: [PATCH] Feat : query provider --- package-lock.json | 27 +++++++++++++++++++++++++++ package.json | 1 + src/app/layout.tsx | 25 ++++++++++++++----------- src/lib/query/queryProvider.tsx | 10 ++++++++++ 4 files changed, 52 insertions(+), 11 deletions(-) create mode 100644 src/lib/query/queryProvider.tsx diff --git a/package-lock.json b/package-lock.json index 39c6eae2..6ddd3290 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,6 +11,7 @@ "@dnd-kit/core": "^6.3.1", "@dnd-kit/sortable": "^10.0.0", "@hookform/resolvers": "^5.0.1", + "@tanstack/react-query": "^5.79.0", "axios": "^1.9.0", "clsx": "^2.1.1", "date-fns": "^4.1.0", @@ -3349,6 +3350,32 @@ "tailwindcss": "4.1.4" } }, + "node_modules/@tanstack/query-core": { + "version": "5.79.0", + "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.79.0.tgz", + "integrity": "sha512-s+epTqqLM0/TbJzMAK7OEhZIzh63P9sWz5HEFc5XHL4FvKQXQkcjI8F3nee+H/xVVn7mrP610nVXwOytTSYd0w==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + } + }, + "node_modules/@tanstack/react-query": { + "version": "5.79.0", + "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.79.0.tgz", + "integrity": "sha512-DjC4JIYZnYzxaTzbg3osOU63VNLP67dOrWet2cZvXgmgwAXNxfS52AMq86M5++ILuzW+BqTUEVMTjhrZ7/XBuA==", + "license": "MIT", + "dependencies": { + "@tanstack/query-core": "5.79.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "react": "^18 || ^19" + } + }, "node_modules/@trysound/sax": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", diff --git a/package.json b/package.json index 53b9ef08..553e1fae 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,7 @@ "@dnd-kit/core": "^6.3.1", "@dnd-kit/sortable": "^10.0.0", "@hookform/resolvers": "^5.0.1", + "@tanstack/react-query": "^5.79.0", "axios": "^1.9.0", "clsx": "^2.1.1", "date-fns": "^4.1.0", diff --git a/src/app/layout.tsx b/src/app/layout.tsx index de8e1aee..0b310fb0 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -4,6 +4,7 @@ import Header from '@/components/layout/gnb/Header'; import ToastProvider from '@/components/common/Toastify/ToasProvider'; import { UserProvider } from '@/contexts/UserContext'; import { ModalProvider } from '@/contexts/ModalContext'; +import QueryProvider from '@/lib/query/queryProvider'; export const metadata: Metadata = { title: 'Coworkers', @@ -17,17 +18,19 @@ export default function RootLayout({ return ( - - - -
-
- {children} -
- - - - + + + + +
+
+ {children} +
+ + + + + ); diff --git a/src/lib/query/queryProvider.tsx b/src/lib/query/queryProvider.tsx new file mode 100644 index 00000000..a9630dbe --- /dev/null +++ b/src/lib/query/queryProvider.tsx @@ -0,0 +1,10 @@ +'use client'; + +import { useState } from 'react'; +import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; + +export default function QueryProvider({ children }: { children: React.ReactNode }) { + const [queryClient] = useState(() => new QueryClient()); + + return {children}; +}