首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用React.createClass时,Typescript抱怨类型'JSX.IntrinsicElements‘上不存在属性?

使用React.createClass时,Typescript抱怨类型'JSX.IntrinsicElements‘上不存在属性?
EN

Stack Overflow用户
提问于 2016-05-24 20:56:05
回答 5查看 95.5K关注 0票数 67

我正在使用typescript编写redux应用程序。

代码语言:javascript
运行
复制
var item = React.createClass({
  render: function() {
    return (hello world)
  }
});

export default class ItemList extends Component {
    render() {
        return ()
    }
}

然后typescript会抱怨:

代码语言:javascript
运行
复制
Property 'item' does not exist on type 'JSX.IntrinsicElements'.
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2016-05-24 21:00:47

组件必须以大写字母开头

而不是小写字母

否则TypeScript会大喊大叫的。改变

应该解决这个问题:

代码语言:javascript
运行
复制
var Item = React.createClass({
  render: function() {
    return (hello world)
  }
});

export default class ItemList extends Component {
    render() {
        return ()
    }
}
票数 154
EN

Stack Overflow用户

发布于 2019-08-11 19:23:22

您可以像这样声明您的自定义元素类型:

代码语言:javascript
运行
复制
import * as React from 'react'

declare global {
  namespace JSX {
    interface IntrinsicElements {
      item: React.DetailedHTMLProps, HTMLElement>;
    }
  }
}
票数 25
EN

Stack Overflow用户

发布于 2019-10-07 17:46:40

那是因为你的

组件的名称不是以大写字母开头,导致Typescript出现问题。替换

使用

可以解决这个问题。

票数 24
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37414304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档