首页 > 解决方案 > 将 useRef 与 Typescript 一起使用时出错

问题描述

我正在尝试使用 useRef,如下所示,将 typescript strict 设置为 On,但我不断收到“对象可能是“未定义”。

  const inputRef = React.useRef();
  const updateSelectionStart = () =>
    setSelectionStart(inputRef.current.selectionStart);

我也试过这个:

const inputRef = useRef<HTMLInputElement>(null);
and
const inputRef = useRef<HTMLInputElement | null>(null);

没别的了。

关于如何在没有打字稿错误的情况下做到这一点的任何建议?

标签: javascriptreactjstypescript

解决方案


尝试使用 typescript 可选链接功能,如下所示:

const inputRef = React.useRef();
  const updateSelectionStart = () =>
    setSelectionStart(inputRef.current?.selectionStart);

推荐阅读