• 由于窗口焦点或按时间间隔轮询等正常数据突变之外的原因,重新验证页面上的数据。

    import { useRevalidator } from "react-router";

    function WindowFocusRevalidator() {
    const revalidator = useRevalidator();

    useFakeWindowFocus(() => {
    revalidator.revalidate();
    });

    return (
    <div hidden={revalidator.state === "idle"}>
    Revalidating...
    </div>
    );
    }

    请注意,页面数据在操作后已自动重新验证。如果您发现自己为了响应用户交互而在数据的正常 CRUD 操作中使用此功能,则可能没有利用其他 API,例如 useFetcherFormuseSubmit,它们会自动执行此操作。

    返回 {
        state: RevalidationState;
        revalidate(): Promise<void>;
    }