Skip to content

Commit 3dbab32

Browse files
committed
improve react-query examples and add rq dev tools
1 parent 09de695 commit 3dbab32

File tree

32 files changed

+545
-138
lines changed

32 files changed

+545
-138
lines changed

apps/material-react-table-docs/examples/dynamic-columns/sandbox/package-lock.json

+28
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

apps/material-react-table-docs/examples/dynamic-columns/sandbox/package.json

+1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
"@mui/icons-material": "^6.2.1",
1616
"@mui/material": "^6.2.1",
1717
"@tanstack/react-query": "^5.62.8",
18+
"@tanstack/react-query-devtools": "^5.62.8",
1819
"material-react-table": "^3.1.0",
1920
"react": "^19.0.0",
2021
"react-dom": "^19.0.0"

apps/material-react-table-docs/examples/dynamic-columns/sandbox/src/TS.tsx

+29-17
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { useMemo, useState } from 'react';
1+
import { lazy, Suspense, useMemo, useState } from 'react';
22
import {
33
MaterialReactTable,
44
useMaterialReactTable,
@@ -11,9 +11,9 @@ import {
1111
import { IconButton, Tooltip } from '@mui/material';
1212
import RefreshIcon from '@mui/icons-material/Refresh';
1313
import {
14+
keepPreviousData,
1415
QueryClient,
1516
QueryClientProvider,
16-
keepPreviousData,
1717
useQuery,
1818
} from '@tanstack/react-query'; //note: this is TanStack React Query V5
1919

@@ -68,15 +68,16 @@ const Example = () => {
6868
refetch,
6969
} = useQuery<UserApiResponse>({
7070
queryKey: [
71-
'table-data',
72-
columnFilters, //refetch when columnFilters changes
73-
globalFilter, //refetch when globalFilter changes
74-
pagination.pageIndex, //refetch when pagination.pageIndex changes
75-
pagination.pageSize, //refetch when pagination.pageSize changes
76-
sorting, //refetch when sorting changes
71+
'users-list',
72+
{
73+
columnFilters, //refetch when columnFilters changes
74+
globalFilter, //refetch when globalFilter changes
75+
pagination, //refetch when pagination changes
76+
sorting, //refetch when sorting changes
77+
},
7778
],
7879
queryFn: async () => {
79-
const fetchURL = new URL('/api/data', location.origin);
80+
const fetchURL = new URL('/api/data', location.origin); // nextjs api route
8081

8182
//read our state and pass it to the API as query params
8283
fetchURL.searchParams.set(
@@ -165,13 +166,24 @@ const Example = () => {
165166
return <MaterialReactTable table={table} />;
166167
};
167168

168-
const queryClient = new QueryClient();
169-
170-
const ExampleWithReactQueryProvider = () => (
171-
//App.tsx or AppProviders file. Don't just wrap this component with QueryClientProvider! Wrap your whole App!
172-
<QueryClientProvider client={queryClient}>
173-
<Example />
174-
</QueryClientProvider>
169+
//react query setup in App.tsx
170+
const ReactQueryDevtoolsProduction = lazy(() =>
171+
import('@tanstack/react-query-devtools/build/modern/production.js').then(
172+
(d) => ({
173+
default: d.ReactQueryDevtools,
174+
}),
175+
),
175176
);
176177

177-
export default ExampleWithReactQueryProvider;
178+
const queryClient = new QueryClient();
179+
180+
export default function App() {
181+
return (
182+
<QueryClientProvider client={queryClient}>
183+
<Example />
184+
<Suspense fallback={null}>
185+
<ReactQueryDevtoolsProduction />
186+
</Suspense>
187+
</QueryClientProvider>
188+
);
189+
}

apps/material-react-table-docs/examples/editing-crud-cell/sandbox/package-lock.json

+28
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

apps/material-react-table-docs/examples/editing-crud-cell/sandbox/package.json

+1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
"@mui/material": "^6.2.1",
1717
"@mui/x-date-pickers": "^7.23.3",
1818
"@tanstack/react-query": "^5.62.8",
19+
"@tanstack/react-query-devtools": "^5.62.8",
1920
"dayjs": "^1.11.13",
2021
"material-react-table": "^3.1.0",
2122
"react": "^19.0.0",

apps/material-react-table-docs/examples/editing-crud-cell/sandbox/src/TS.tsx

+20-9
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { useMemo, useState } from 'react';
1+
import { lazy, Suspense, useMemo, useState } from 'react';
22
import {
33
MaterialReactTable,
44
// createRow,
@@ -334,16 +334,27 @@ function useDeleteUser() {
334334
});
335335
}
336336

337-
const queryClient = new QueryClient();
338-
339-
const ExampleWithProviders = () => (
340-
//Put this with your other react-query providers near root of your app
341-
<QueryClientProvider client={queryClient}>
342-
<Example />
343-
</QueryClientProvider>
337+
//react query setup in App.tsx
338+
const ReactQueryDevtoolsProduction = lazy(() =>
339+
import('@tanstack/react-query-devtools/build/modern/production.js').then(
340+
(d) => ({
341+
default: d.ReactQueryDevtools,
342+
}),
343+
),
344344
);
345345

346-
export default ExampleWithProviders;
346+
const queryClient = new QueryClient();
347+
348+
export default function App() {
349+
return (
350+
<QueryClientProvider client={queryClient}>
351+
<Example />
352+
<Suspense fallback={null}>
353+
<ReactQueryDevtoolsProduction />
354+
</Suspense>
355+
</QueryClientProvider>
356+
);
357+
}
347358

348359
const validateRequired = (value: string) => !!value.length;
349360
const validateEmail = (email: string) =>

apps/material-react-table-docs/examples/editing-crud-modal/sandbox/package-lock.json

+28
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

apps/material-react-table-docs/examples/editing-crud-modal/sandbox/package.json

+1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
"@mui/material": "^6.2.1",
1717
"@mui/x-date-pickers": "^7.23.3",
1818
"@tanstack/react-query": "^5.62.8",
19+
"@tanstack/react-query-devtools": "^5.62.8",
1920
"dayjs": "^1.11.13",
2021
"material-react-table": "^3.1.0",
2122
"react": "^19.0.0",

apps/material-react-table-docs/examples/editing-crud-modal/sandbox/src/TS.tsx

+20-9
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { useMemo, useState } from 'react';
1+
import { lazy, Suspense, useMemo, useState } from 'react';
22
import {
33
MRT_EditActionButtons,
44
MaterialReactTable,
@@ -328,16 +328,27 @@ function useDeleteUser() {
328328
});
329329
}
330330

331-
const queryClient = new QueryClient();
332-
333-
const ExampleWithProviders = () => (
334-
//Put this with your other react-query providers near root of your app
335-
<QueryClientProvider client={queryClient}>
336-
<Example />
337-
</QueryClientProvider>
331+
//react query setup in App.tsx
332+
const ReactQueryDevtoolsProduction = lazy(() =>
333+
import('@tanstack/react-query-devtools/build/modern/production.js').then(
334+
(d) => ({
335+
default: d.ReactQueryDevtools,
336+
}),
337+
),
338338
);
339339

340-
export default ExampleWithProviders;
340+
const queryClient = new QueryClient();
341+
342+
export default function App() {
343+
return (
344+
<QueryClientProvider client={queryClient}>
345+
<Example />
346+
<Suspense fallback={null}>
347+
<ReactQueryDevtoolsProduction />
348+
</Suspense>
349+
</QueryClientProvider>
350+
);
351+
}
341352

342353
const validateRequired = (value: string) => !!value.length;
343354
const validateEmail = (email: string) =>

apps/material-react-table-docs/examples/editing-crud-row/sandbox/package-lock.json

+28
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

apps/material-react-table-docs/examples/editing-crud-row/sandbox/package.json

+1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
"@mui/material": "^6.2.1",
1717
"@mui/x-date-pickers": "^7.23.3",
1818
"@tanstack/react-query": "^5.62.8",
19+
"@tanstack/react-query-devtools": "^5.62.8",
1920
"dayjs": "^1.11.13",
2021
"material-react-table": "^3.1.0",
2122
"react": "^19.0.0",

0 commit comments

Comments
 (0)