fix: default duration (#6393)

This commit is contained in:
crazywoola 2024-07-17 21:19:04 +08:00 committed by GitHub
parent 6c798cbdaf
commit 35f4a264d6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -27,7 +27,6 @@ export const ToastContext = createContext<IToastContext>({} as IToastContext)
export const useToastContext = () => useContext(ToastContext) export const useToastContext = () => useContext(ToastContext)
const Toast = ({ const Toast = ({
type = 'info', type = 'info',
duration,
message, message,
children, children,
className, className,
@ -91,7 +90,7 @@ export const ToastProvider = ({
duration: 6000, duration: 6000,
} }
const [params, setParams] = React.useState<IToastProps>(placeholder) const [params, setParams] = React.useState<IToastProps>(placeholder)
const defaultDuring = params.type === 'success' ? 3000 : 6000 const defaultDuring = (params.type === 'success' || params.type === 'info') ? 3000 : 6000
const [mounted, setMounted] = useState(false) const [mounted, setMounted] = useState(false)
useEffect(() => { useEffect(() => {
@ -100,7 +99,7 @@ export const ToastProvider = ({
setMounted(false) setMounted(false)
}, params.duration || defaultDuring) }, params.duration || defaultDuring)
} }
}, [mounted]) }, [defaultDuring, mounted, params.duration])
return <ToastContext.Provider value={{ return <ToastContext.Provider value={{
notify: (props) => { notify: (props) => {
@ -119,6 +118,7 @@ Toast.notify = ({
duration, duration,
className, className,
}: Pick<IToastProps, 'type' | 'message' | 'duration' | 'className'>) => { }: Pick<IToastProps, 'type' | 'message' | 'duration' | 'className'>) => {
const defaultDuring = (type === 'success' || type === 'info') ? 3000 : 6000
if (typeof window === 'object') { if (typeof window === 'object') {
const holder = document.createElement('div') const holder = document.createElement('div')
const root = createRoot(holder) const root = createRoot(holder)