// BookmarkPage.js import React from "react"; import { getUserBookmarks } from "../services/getUserBookmarks"; import { useQuery, useQueryClient } from "react-query"; import ErrorFallback from "../components/Errors/ErrorFallback"; import useBookmark from "../hooks/useBookmark"; import { useNavigate } from "react-router-dom"; import { formatDataByDate } from "../utils/util"; function Bookmark() { const { handleBookmark } = useBookmark(); const navigator = useNavigate(); const queryClient = useQueryClient(); const { data, isLoading, isError, refetch, isSuccess } = useQuery( ["bookmarks"], getUserBookmarks, { cacheTime: 1000 * 60 * 5, // 5 minutes staleTime: 0, // 10 minutes } ); const handleViewPollClick = (pollId) => { navigator(`/view/${pollId}`); }; const handleRemoveBookmark = async (bookmarkId) => { queryClient.setQueryData(["bookmarks"], (oldData) => { return { ...oldData, data: oldData.data.filter((bookmark) => bookmark._id !== bookmarkId), }; }); await handleBookmark(bookmarkId); }; console.log(data); return (
| # | 标题 | 描述 | 操作 |
|---|---|---|---|
| {index + 1} | {bookmark.title} | {bookmark.description} |