首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >JSX元素类型'x‘没有任何构造或调用签名。

JSX元素类型'x‘没有任何构造或调用签名。
EN

Stack Overflow用户
提问于 2021-11-14 19:53:23
回答 1查看 6.7K关注 0票数 0

我有一个导入的图像,我想在一个函数中使用它。图片:

代码语言:javascript
代码运行次数:0
运行
复制
import  Edit  from  'src/assets/setting/advertising/edit.png';

这是一个功能:

代码语言:javascript
代码运行次数:0
运行
复制
function getOptions(row) {
        return (
            <div>
                <Edit /> //error
                <img src={Edit} /> //error
            </div>
        );
    }

<Edit />得到了以下错误:

JSX元素类型'Edit‘没有任何构造或调用签名。

<img src={Edit} />得到了以下错误:

类型'StaticImageData‘不能指定键入’string‘..ts(2322)

我能做什么?谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-14 22:40:12

这两个问题有着千丝万缕的联系,但必须以不同的方式加以解决。

第一个问题:您正在尝试将导入的静态文件呈现为HTML。使用这种语法,只能在React中呈现React组件或HTML元素。

示例:

代码语言:javascript
代码运行次数:0
运行
复制
function MyCustomElement() {
    return (
        <div>This is custom element<div>
    );
}

export default function Page() {
    return <div>
        <MyCustomElement />
    </div>;
}

第二个问题:您试图作为图像的src传入导入的静态文件的。你需要传递一个字符串。

示例:

代码语言:javascript
代码运行次数:0
运行
复制
const PATH_TO_IMAGE = 'src/assets/setting/advertising/edit.png';

function getOptions(row) {
    return (
        <div>
            <img src={PATH_TO_IMAGE} />
        </div>
    );
}

请注意,"src“的值必须公开访问。

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

https://stackoverflow.com/questions/69966633

复制
相关文章

相似问题

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