hooks.ts 343 B

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