3

尝试将 Polymer Web Components 工具提示功能集成到用 TypeScript 编写的 React 应用程序中。

在编译时,它抛出错误Property 'paper-tooltip' does not exist on type 'JSX.IntrinsicElements'

所以,试图<paper-toooltip>进入 JSX 命名空间,我创建了这个文件:

Tooltip.txs

import * as React from 'react'

declare global {
    namespace JSX {
        interface IntrinisicElements {
            'paper-tooltip': { Tooltip: string }
        }
    }
}

export default Tooltip;

我在这里做错了什么?

另外,我知道在 React/TypeScript 中,组件需要以大写字母开头,比如“I”……这增加了我的困惑,我不明白。

4

2 回答 2

2

这是一个错字。您在合并界面时编写IntrinisicElements而不是。IntrinsicElements

declare global {
    namespace JSX {
        interface IntrinsicElements {
            'paper-tooltip': { Tooltip: string }
        }
    }
}

根据我的测试,这是唯一的问题,但如果这只是粘贴问题时的拼写错误,则可能是 config.xml 的问题。

于 2020-11-24T23:40:22.570 回答
0

看来您的问题可能出-在组件名称paper-clip中。您不能-在组件名称中包含 a,因为在初始化组件时它会破坏 Javascript 变量命名约定:https ://www.w3schools.com/js/js_variables.asp

// invalid variable name
const paper-clip = ()=> {
  // return JSX here
}

所以,要么你声明paper-clip不正确,要么它不是一个组件。

于 2020-11-27T14:55:58.340 回答