hooks.ts 398 B

1234567891011121314151617
  1. import { useState } from "react";
  2. const initialMessage = { color: "red", text: "" };
  3. export const useMessage = (timeout?: number) => {
  4. const [message, set] = useState(initialMessage);
  5. const setMessage = (text = "", color = "red") => {
  6. set({ text, color });
  7. if (timeout) {
  8. setTimeout(() => set(initialMessage), timeout);
  9. }
  10. };
  11. return [message, setMessage] as const;
  12. };