Typescript JSX元素类型';XXX和x27;没有任何构造或调用签名
我想在typescript中使用材质uiTypescript 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
/// <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)
}