next.js 如何修复下一个链接元素上的“属性'click'不存在于类型'never'上”?

cfh9epnr  于 2023-04-30  发布在  其他
关注(0)|答案(1)|浏览(117)

我有一个 Package 输入的表单和一个提交按钮。当输入更改事件被触发时,链接href将被更新。表单的提交逻辑简单地单击链接。
逻辑工作,链接点击并重定向,但是,searchLinkRef.current.click()在VS代码中导致以下错误:
“属性'click'在类型'never'上不存在”
拜托,怎么能修好呢?

//imports 
import Link from "next/link";
import {  useRef, useState } from "react";

const Test = () =>{
const [searchLink, setSearchLink] = useState(<></>);
const searchLinkRef = useRef(null);

  const setter = (
    link: any = <></>
  ) => {
    setSearchLink(link);
  };

const inputChangeHandler = (event: any) => {
    const searchString = event.target.value.toLowerCase().trim();
  setter(
    <Link href={`./search/${searchString}`} ref={searchLinkRef} />
  );

const searchSubmitHandler = (event: any) => {
    event.preventDefault();
    if (searchLinkRef.current !== null) {
      searchLinkRef.current.click();
    }
  };

  return({searchLink})
alen0pnh

alen0pnh1#

你会得到这个错误,因为你没有给予searchLinkRef正确的类型,因为你已经调用了useRef。这将解决您的问题:

const searchLinkRef = useRef<HTMLAnchorElement>(null);

相关问题