使用useRef和Typescript时出错

时间:2020-03-30 22:17:13

标签: javascript reactjs typescript

我正在尝试使用如下所示的useRef,并将typescript严格设置为On,但是我一直在获取“ Object is may undefined”。

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

我也尝试过这个:

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

什么也没有。

关于如何避免打字错误的任何建议?

2 个答案:

答案 0 :(得分:0)

尝试使用如下的打字稿可选链接功能:

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

答案 1 :(得分:0)

我通过以下操作对其进行了修复:

const updateSelectionStart = () => {
    setCursorPosition(inputRef.current!.selectionStart || 0);
};