import { useRouter } from "next/router"; import { ChangeEvent, FormEvent, useEffect, useMemo, useState } from "react"; export default function SearchForm() { const { asPath, query, push } = useRouter(); const inSearchPage = useMemo(() => { return !/\/novels/.test(asPath); }, [asPath]); const [value, setValue] = useState(""); const handleSubmit = (e: FormEvent) => { e.preventDefault(); push(`${asPath.split("?")[0]}${value ? `?q=${value}` : ""}`); }; const handleChange = (e: ChangeEvent) => { setValue(e.target.value); }; useEffect(() => { setValue((query.q as string) || ""); }, [query.q]); return (
); }