@@ -2,20 +2,28 @@ import "./App.css";
22import {
33 useDefaultClientAddPet ,
44 useDefaultClientFindPets ,
5+ useDefaultClientFindPetsKey ,
56} from "../openapi/queries" ;
7+ import { useState } from 'react' ;
8+ import { queryClient } from './queryClient' ;
69
710function App ( ) {
8- const { data } = useDefaultClientFindPets (
9- { tags : [ ] , limit : 10 } ,
10- [ ] ,
11- {
12- onError : ( error ) => {
13- console . error ( error ) ;
14- } ,
15- }
11+
12+ const [ tags , _setTags ] = useState < string [ ] > ( [ ] ) ;
13+ const [ limit , _setLimit ] = useState < number > ( 10 ) ;
14+
15+ const { data, error, refetch } = useDefaultClientFindPets (
16+ { tags, limit } ,
1617 ) ;
1718
18- const mutation = useDefaultClientAddPet ( ) ;
19+ const { mutate : addPet } = useDefaultClientAddPet ( ) ;
20+
21+ if ( error ) return (
22+ < div >
23+ < p > Failed to fetch pets</ p >
24+ < button onClick = { ( ) => refetch ( ) } > Retry</ button >
25+ </ div >
26+ ) ;
1927
2028 return (
2129 < div className = "App" >
@@ -27,12 +35,18 @@ function App() {
2735 </ ul >
2836 < button
2937 onClick = { ( ) => {
30- mutation . mutate (
38+ addPet (
3139 {
3240 requestBody : { name : "Duggy" } ,
3341 } ,
3442 {
35- onSuccess : ( ) => console . log ( "success" ) ,
43+ onSuccess : ( ) => {
44+ queryClient . invalidateQueries ( {
45+ queryKey : [ useDefaultClientFindPetsKey ] ,
46+ } ) ;
47+ console . log ( "success" )
48+
49+ } ,
3650 onError : ( error ) => console . error ( error ) ,
3751 }
3852 ) ;
0 commit comments