如何为来自 Google AMP 的 JSX 属性编写使用方括号的类型声明?



要使用 AMP 的绑定功能,您必须使用特殊属性,用方括号包装元素的属性并将其链接到表达式。以下是 AMP 的示例:

<p [text]="'Hello ' + foo">Hello World</p>
<button on="tap:AMP.setState({foo: 'amp-bind'})">

问题是,目前没有 @types/amp,并且 Typescript 在我的 JSX 的第一个[抛出一个错误,说[ts] identifier expected.乱搞它我也遇到了[ts] Left side of comma operator is unused and has no side effects.

这很可能可以通过正确的 Typescript 类型声明来解决。有什么建议吗?

根据 amp-bind 组件文档:

属性名称中的括号字符 [ 和 ] 可能会出现问题,在以下情况下 编写XML(例如.XHTML,JSX(或通过DOM API编写属性。在 这些情况,请使用替代语法 data-amp-bind-x="foo" 的 [x]="foo"。 例如:

<p data-amp-bind-text="'Hello ' + foo">Hello World</p>

最新更新