4

根据有关 TypeScript 此类错误的其他类似问题(关于问题#44147937#40796374),我发现分配null创建状态或引用会导致此问题: Property ... does not exist on type 'never'

在这个示例组件中如何处理这个问题?

const FooComponent: FunctionComponent<FooInterface> = () => {

    const myRef = useRef(null)

    const handleClickOnButton = () => myRef?.current?.click();

    return (
       <div>
           <div ref={myRef} />
           <button onClick={handleClickOnButton} />
       </div>
}
4

1 回答 1

16

TypeScript 无法从您稍后在代码中使用它的位置推断 ref 的类型,您必须告诉它 ref 的类型:

const ref = useRef<HTMLDivElement>(null);
// −−−−−−−−−−−−−−−^^^^^^^^^^^^^^^^

useRefnull类型添加到你给它的类型参数中,所以你不必使用<HTMLDivElement | null>。)

于 2021-07-30T11:24:35.157 回答