javascript - Typescript Object 可能是在 react 中使用 ref 聚焦的“null”焦点
问题描述
打字稿仍然给我错误
对象可能是“空”.ts(2531)
即使我这样做
myRef && myRef.current && myRef.current.focus();
如果我使用
myRef?.current?.focus();
我有
Property 'focus' does not exist on type 'never'.ts(2339)
解决方案
定义引用时,应指定它将是什么类型:
const myRef = useRef<HTMLElement>(null);
(请注意,以上假设您正在使用它
<div ref={myRef}>
- 如果您myRef.current
手动设置,则需要将类型指定为<HTMLElement|null>
.
完成此操作后,您应该能够使用以下内容:
myRef.current?.focus()
请注意,您不需要使用存在检查myRef
- 这将始终是具有current
属性的对象 - 这就是 react 的 API 的工作方式。
推荐阅读
- python - 在 postgres 和 sqlalchemy 中限制同时执行两个查询
- node.js - 如何导入 discord.js?
- kendo-asp.net-mvc - 剑道:启用浮动标签的全宽
- flutter - 如何打开/查找 path_provider 创建的文件?
- asp.net - 指定 ASP.NET MVC 应用程序根目录的正确语法是什么?
- sql - 加入 Fragment CTE 来构建我们合适的表
- reactjs - 通用反应组件道具
- stripe-payments - 创建付款意图时如何设置默认卡
- c++ - 什么情况下会出现Linux信号函数的SIG_ERR?
- sql - 将标识列重置为从 1 开始,其中 identity_columns.last_value 为 NULL