首页 > 解决方案 > 如何为使用方括号的 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 类型声明来解决。有什么建议么?

标签: javascriptreactjstypescriptamp-html

解决方案


根据amp-bind 组件文档:

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

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

推荐阅读