当前位置: 首页 > 面试题库 >

如何在JSX / TSX中使用TypeScript强制转换

欧阳睿范
2023-03-14
问题内容

强制转换为.tsx文件时,编译器将其假定为JSX,例如:

(<HtmlInputElement> event.target).value

给出一个错误

JSX元素类型’HtmlInputElement’不是JSX元素的构造函数

如何将TypeScript转换为.tsx文件?


问题答案:

as运算符被引入TypeScript 1.6,以替换.tsx文件中的强制类型转换,例如:

(event.target as HTMLInputElement).value

TypeScript Wiki解释了1.6的更改:
它使新as运算符成为默认的转换方式(消除了JSX表达式与TypeScript前缀转换运算符之间的歧义)。



 类似资料:
  • 问题内容: 我正在描述一个React库,该库通过一个名为的属性采用一个组件或HTML标签名称。给定属性后,它将根据该组件/标签名称创建一个元素,并传递所有其他给定属性。 这里有些例子: 我知道语义UI在扩充方面做了类似的事情。我将如何在TypeScript中键入此内容? 问题答案: 我将在此处给出最基本要求的示例。您可以尝试将其概括为功能更复杂的产品。 首先,这是我们的魔力! 注意两件事: 一种叫

  • 我试图转换在JSX中定义备用路由组件的方式,一个等效的TypeScript TSX文件。(1) JSX语法如下所示: 我试图将其转换为TypeScript,但在Visual Studio中,

  • 我目前正在阅读React官方网站,在那里我遇到了这个问题。React官方网站声明我们可以在JSX中使用函数代码。因此,我尝试了以下代码,但不起作用。 ABCD类扩展了React。组件{ } 我知道,我知道,你们中的一些人可能会说,看看React网站上给出的例子。我看到了,官网上的例子涉及到外部功能。我只是想知道我们能否独立使用JSX内部的函数。 有关更多信息,请参阅此链接:https://reac

  • 问题内容: 我正在尝试为Express.js创建一个中间件,以将所有非安全(端口80)通信重定向到安全SSL端口(443)。不幸的是,Express.js请求中没有任何信息可让您确定该请求是否来自http或https。 一种解决方案是重定向 每个 请求,但这不是我的选择。 笔记: 没有可能用Apache或其他东西来处理它。它 必须 在节点中完成。 应用程序中只能启动 一台 服务器。 您将如何解决?

  • 问题内容: 如何在spark数据帧中强制转换结构数组? 让我通过一个例子来说明我要做什么。我们将从创建一个数据框开始,该数据框包含行和嵌套行的数组。我的整数尚未在数据框中强制转换,它们已创建为字符串: 这是创建的数据框的架构: 我想做的是将所有可以为整数的字符串都转换为整数。我尝试执行以下操作,但没有成功: 我有以下异常: 任何人都有正确的查询将所有值转换为INTEGER吗?我将不胜感激。 非常感

  • 问题内容: 看到 这个操场片段 。 相关代码: 通过显式声明类型,第一个类型转换起作用。但是,第二次引发恐慌。为什么?是否有一种干净的方法可以转换为更长的功能签名? 问题答案: tl; dr 对于类型断言(您使用的类型),仅实际类型很重要。因此,仅等于和不等于。 说明 首先,这与铸造无关。进行中没有强制转换。有类型断言和类型转换。 您正在处理类型断言,并假设与类型 转换 具有相同的条件。在阅读您的