Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript JSX元素类型';XXX和x27;没有任何构造或调用签名_Typescript_Jsx - Fatal编程技术网

Typescript JSX元素类型';XXX和x27;没有任何构造或调用签名

Typescript JSX元素类型';XXX和x27;没有任何构造或调用签名,typescript,jsx,Typescript,Jsx,我想在typescript中使用材质ui /// <reference path="../../../typings/react/react.d.ts"/> import React = __React; import * as FlatButton from "material-ui/lib/flat-button"; interface ATCProps{ clickHandler:__React.MouseEventHandler; } export default

我想在typescript中使用材质ui

/// <reference path="../../../typings/react/react.d.ts"/>
import React = __React;
import * as FlatButton from "material-ui/lib/flat-button";

interface ATCProps{
    clickHandler:__React.MouseEventHandler;
}

export default class AddToCartBtn extends React.Component<ATCProps,any>{
    render(){
        return (
            <FlatButton></FlatButton>  // -> error
        )
    }
}
//
导入反应=uu反应;
从“物料界面/库/平面按钮”导入*为平面按钮;
接口ATCProps{
clickHandler:\uu React.MouseEventHandler;
}
导出默认类AddToCartBtn扩展React.Component{
render(){
返回(
//->错误
)
}
}
平面按钮d.ts

declare module "material-ui/lib/flat-button" {
    import ReactElement = __React.ReactElement;
    import Component = __React.Component;
    interface FlatButton extends __React.Component<any,any>{
    }
    export default FlatButton;
}
声明模块“物料界面/库/平面按钮”{
导入ReactElement=\uuuReact.ReactElement;
导入组件=_React.Component;
接口FlatButton扩展_React.Component{
}
导出默认平面按钮;
}

错误:(15,14)TS2604:JSX元素类型“FlatButton”没有任何构造或调用签名。

您需要将
接口FlatButton
替换为
类FlatButton
。您导出的模块定义没有任何与之关联的值。

首先:请尝试此操作。

import FlatButton from "material-ui/lib/flat-button";
第二:为什么会这样?

它是默认导出

// fileA: export default module
declare let $: JQuery;
export default $;
如果
物料ui/lib/flat button
为“默认导出”,我们应该使用不同的导入表单

第三:当
从“XXX”以扁平按钮导入*时会发生什么

import*作为扁平按钮从“XXX”导入
表示将整个模块导入单个变量

// the outcome is an object with a default property
{
  default: FlatButton(props)
}

您好,我有一个类似的问题,但我不能将
接口
更改为
。你能看看我的问题吗?嗨。欢迎来到堆栈溢出!虽然这可能会回答这个问题,你能考虑解释一下你的答案吗?
// the outcome is an object with a default property
{
  default: FlatButton(props)
}