useStateWithValidation

A hook with isValid state that validates the state value.

Installation

pnpm dlx shadcn@latest add https://mhl5.vercel.app/r/useStateWithValidation.json

Usage

import useStateWithValidation from "@/hooks/useStateWithValidation";

const [email, setEmail, isValid] = useStateWithValidation(
  (value: string) => value.includes("@"),
  "",
);

// The isValid state will automatically update based on validation