是否将Polymer Web Components集成到用Typescript编写的React应用程序中?

问题描述

尝试将polymer Web Components工具提示功能集成到用TypeScript编写的React App中。

在编译时,它抛出错误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”……这使我更加困惑,我不明白。

解决方法

是错字。合并界面时,您写的是>>> print(series) [{'name': 'BLOWFISH','data': [5.8984375,6.309375]},{'name': 'AES-256','data': [5.609375,9.309375]},{'name': 'RSA','data': [8.309375]}] 而不是IntrinisicElements

IntrinsicElements

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

,

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

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

因此,您声明的paper-clip错误,或者它不是组成部分。