为hook的useSWR添加错误消息

This commit is contained in:
2025-06-19 11:51:23 +08:00
parent 4c9505d476
commit 43e814fbe7
5 changed files with 28 additions and 2 deletions

View File

@@ -2,12 +2,18 @@
import { list, UserListParams, UserListResponse } from '@/lib/api/admin/user' import { list, UserListParams, UserListResponse } from '@/lib/api/admin/user'
import { useCallback } from 'react' import { useCallback } from 'react'
import { toast } from 'sonner'
import useSWR from 'swr' import useSWR from 'swr'
export function useUserList(params?: UserListParams) { export function useUserList(params?: UserListParams) {
const { data, error, isLoading, mutate } = useSWR<UserListResponse>( const { data, error, isLoading, mutate } = useSWR<UserListResponse>(
['/api/admin/user', params], ['/api/admin/user', params],
() => list(params), () => list(params),
{
onError: (e) => {
toast.error(`${e.message || e}`)
}
}
) )
const refresh = useCallback(() => { const refresh = useCallback(() => {

View File

@@ -1,5 +1,6 @@
import { AdminApi } from "@/lib/api"; import { AdminApi } from "@/lib/api";
import { User } from "@/lib/types/user"; import { User } from "@/lib/types/user";
import { toast } from "sonner";
import useSWR from "swr"; import useSWR from "swr";
export function useUser(userId: string) { export function useUser(userId: string) {
@@ -10,6 +11,9 @@ export function useUser(userId: string) {
revalidateOnReconnect: false, revalidateOnReconnect: false,
revalidateIfStale: false, revalidateIfStale: false,
dedupingInterval: 0, dedupingInterval: 0,
onError: (e) => {
toast.error(`${e.message || e}`)
}
} }
) )

View File

@@ -2,12 +2,18 @@
import { AdminApi } from "@/lib/api"; import { AdminApi } from "@/lib/api";
import { useCallback } from "react"; import { useCallback } from "react";
import { toast } from "sonner";
import useSWR from "swr"; import useSWR from "swr";
export function useBlogList() { export function useBlogList() {
const { data, error, isLoading, mutate } = useSWR( const { data, error, isLoading, mutate } = useSWR(
['/admin/web/blog'], ['/admin/web/blog'],
() => AdminApi.web.blog.list() () => AdminApi.web.blog.list(),
{
onError: (e) => {
toast.error(`${e.message || e}`)
}
}
) )
const refresh = useCallback(() => { const refresh = useCallback(() => {

View File

@@ -2,12 +2,18 @@
import { AdminApi } from "@/lib/api"; import { AdminApi } from "@/lib/api";
import { useCallback } from "react"; import { useCallback } from "react";
import { toast } from "sonner";
import useSWR from "swr"; import useSWR from "swr";
export function useResourceList() { export function useResourceList() {
const { data, error, isLoading, mutate } = useSWR( const { data, error, isLoading, mutate } = useSWR(
['/admin/web/resource'], ['/admin/web/resource'],
() => AdminApi.web.resource.list() () => AdminApi.web.resource.list(),
{
onError: (e) => {
toast.error(`${e.message || e}`)
}
}
) )
const refresh = useCallback(() => { const refresh = useCallback(() => {

View File

@@ -1,4 +1,5 @@
import { OssApi } from "@/lib/api"; import { OssApi } from "@/lib/api";
import { toast } from "sonner";
import useSWR from "swr"; import useSWR from "swr";
export function useOssSts() { export function useOssSts() {
@@ -9,6 +10,9 @@ export function useOssSts() {
shouldRetryOnError: false, shouldRetryOnError: false,
refreshInterval: 59 * 60 * 1000, refreshInterval: 59 * 60 * 1000,
revalidateOnFocus: false, revalidateOnFocus: false,
onError: (e) => {
toast.error(`${e.message || e}`)
}
} }
); );