1

I have to prepare one static HTML and inside it, I have to render a react Link. But it is not working as expected and returns [object Object]. Here is my code.

 const htmlCode =    `<div class='info-container'>
                          <div class='heading-section'>
                              ${<><Link to = {targetURL}>Click Here</Link></>}
                          </div>
                      <div>`

Output I am getting after rendering:

enter image description here

enter image description here

I have consoled that and getting output on console as shown below :

enter image description here

------------------------------------EDIT------------------------------------

The main goal here is, I want to pass this static HTML (variable htmlCode) to another component and that is not rendering but I get object instead of rendered as shown in console output attached here. Is there any way I can render that and convert it to a kind of static HTML before passing to other component?

1 Answer 1

4

JSX is not HTML, it is a syntactic sugar for HTML. You cannot wrap it around strings. It will transpile to React.createElement which returns a JavaScript object.

const htmlCode = <div class='info-container'>
                     <div class='heading-section'>
                         <Link to = {targetURL}>Click Here</Link>
                      </div>
                  <div>

See more of Rendering JSX elements

Sign up to request clarification or add additional context in comments.

8 Comments

Tried this solution, [object Object] was removed and get the correct string there but Link is not rendered yet as expected, see the rendered Link component here link
Link, Is it from react-router-dom?
Yes, It is from react-router-dom
the screenshot looks like you've used link instead of Link, Link from router will render a <a> tag
you can also replace Link with <a href={targetURL}>Click Here</a>
|

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.