/** * useModalState Hook * * 模态框状态管理Hook * 统一管理模态框的打开/关闭状态 * 支持泛型,可以存储模态框相关的数据 * * @created 2025-01-XX(从 page.tsx 提取) * @hook */ 'use client' import { useCallback, useState } from 'react' export function useModalState() { const [isOpen, setIsOpen] = useState(false) const [data, setData] = useState(null) const open = useCallback((payload?: T) => { setData((payload ?? null) as T | null) setIsOpen(true) }, []) const close = useCallback(() => { setIsOpen(false) setData(null) }, []) return { isOpen, data, open, close, setData, } } export type UseModalStateReturn = ReturnType>