1

I'm fetching data from an API, and one of properties of the data is a description of the item, but the JSON response is written in HTML, and has <a></a> tags and other html elements in it. I would like to NOT display the tags and have them actually work.

for example, this is what its output to the screen:

"Here is the <a href='https://www.google.com'> Link </a>"

This is what it should look like:

"Here is the Link "

How can I achieve this?

(I'm using Next.js)

and this is how I'm displaying the data

<p>{description}</p>

0

1 Answer 1

1

Try below. dangerouslySetInnerHTML is the JSX property you need.

<p dangerouslySetInnerHTML={{ __html: description }}></p>

Check the docs for more info

Working example

function App() {

  const description = "Here is the <a href='https://www.google.com'> Link </a>"; 

  return (
    <p dangerouslySetInnerHTML={{ __html: description }}></p>
  );
};


ReactDOM.render(
  <App />,
  document.getElementById('react')
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/17.0.2/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/17.0.2/umd/react-dom.production.min.js"></script>
<div id="react"></div>

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

1 Comment

@Eric Pezzulo, check this out!!

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.