如何解决“从不”类型中不存在属性
Posted
技术标签:
【中文标题】如何解决“从不”类型中不存在属性【英文标题】:How to solve Property does not exist in type 'never' 【发布时间】:2022-01-23 03:20:25 【问题描述】:我正在使用库 react-google-recaptcha 来生成不可见的 ReCaptcha,但出现以下打字稿错误:
“从不”类型中不存在属性“执行”
这是代码:
const recaptcha = useRef(null);
useEffect(() =>
let token;
if (recaptchaLoaded)
token = recaptcha.current?.execute();
, [recaptchaLoaded]);
<ReCAPTCHA
ref=recaptcha
sitekey=SITE_KEY
/>
我怎样才能输入 .execute() 以使这个错误不再发生? 或者我应该用其他方式吗?
谢谢
【问题讨论】:
也许通过分离你的代码,一个包含recaptcha.current
的临时变量,然后一个条件来测试你是否可以在上面调用execute
?
const recaptcha = useRef您需要通过向 useRef
提供 type 参数 来告诉 TypeScript ref 将引用的类型(因为 TypeScript 无法从初始值 null
推断它)。假设您使用的是this npm
package,您似乎使用了组件的类型:
const recaptcha = useRef<ReCAPTCHA>(null);
// ^^^^^^^^^^^
【讨论】:
以上是关于如何解决“从不”类型中不存在属性的主要内容,如果未能解决你的问题,请参考以下文章
如何解决 .net 标准中的命名空间“System.Configuration”错误中不存在类型或命名空间名称“ConfigurationManager”?
Vetur 说,在模板上使用道具时,“从不”类型中不存在道具