javascript - 将 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);
没别的了。
关于如何在没有打字稿错误的情况下做到这一点的任何建议?
解决方案
尝试使用 typescript 可选链接功能,如下所示:
const inputRef = React.useRef();
const updateSelectionStart = () =>
setSelectionStart(inputRef.current?.selectionStart);
推荐阅读
- actionscript-3 - 使用对象名称更改对象
- drools - 如何通过两个属性对流口水的集合进行排序?
- json - 在 VB.net 中处理 Json 数组
- php - Laravel 6 | 如何在不弄乱页面的情况下让我的最后 4 个帖子显示在索引中?
- r - 使用 cob 包通过特定点进行约束曲线拟合时出错:外部函数调用中的 NA/NaN/Inf
- facebook-graph-api - Facebook 图形 API 是否有“/me”资源?
- c# - 为什么锁定控件本身并同步访问它会导致死锁?
- r - 将行附加到 data.table 与在 data.frame 中的工作方式不同:如何以及为什么?
- javascript - 在 JavaScript 中检查 JSON 中的空数据
- c# - 当 PictureBox SizeMode 设置为 Zoom 时,Graphics.DrawLine 滞后