• Home
  • Jobs
  • Courses
  • Questions
  • Teachers
  • For business
  • ES/EN

0

43
Views
JSX element type 'x' does not have any construct or call signatures

I have an imported image and I want to use it in a function. the image:

import  Edit  from  'src/assets/setting/advertising/edit.png';

and this is the function:

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

<Edit /> got this error:

JSX element type 'Edit' does not have any construct or call signatures.

and <img src={Edit} /> got this error:

Type 'StaticImageData' is not assignable to type 'string'.ts(2322)

what can I do? thank you.

about 1 month ago ·

Juan Pablo Isaza

1 answers
Answer question

0

The two issues are inextricably linked, but they have to be solved differently.

First issue: You are trying to render an imported static file as a HTML element. You can only render React Components or HTML Elements in React, using that syntax.

Example:

function MyCustomElement() {
    return (
        <div>This is custom element<div>
    );
}

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

Second Issue: You're trying to pass in an imported static file as the src of an image. You would need to pass in a string.

Example:

const PATH_TO_IMAGE = 'src/assets/setting/advertising/edit.png';

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

Please, note that the value of "src" must be publicly accessible.

about 1 month ago · Juan Pablo Isaza Report
Answer question
Find remote jobs
Loading

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post job Plans Our process Sales
Legal
Terms and conditions Privacy policy
© 2022 PeakU Inc. All Rights Reserved.