I am trying to render a json list with html tags in the string in a list as follows jsbin. It works in Jsbin. But in my console I got warning below:
warning
Add inline comment on top of dangerouslySetInnerHTML and inside div element if you use ESLint
<div
// eslint-disable-next-line react/no-danger
dangerouslySetInnerHTML={{ __html: html }}
/>
Remove the enclosing tag of your div
element in your component so that it looks like the following code:
<li key={i}>
<div dangerouslySetInnerHTML={{
__html: item.text
}} />
</li>
According to this, it should remove the warning.
React is complaining about the use of dangerouslySetInnerHTML
in conjunction with safe react children, that happened when you let the div tag opened to such characteristic <div>open and ready for children</div>
.
Since you are using the JSX syntax extension, the solution here is write the whole sentence in a single line:
<div dangerouslySetInnerHTML={{__html: item.text}}></div>
or just using a singleton div tag:
<div dangerouslySetInnerHTML={{
__html: item.text
}}/>
By the way you are not getting the error on jsbin because it is a react production build, this build is not meant to tell you what could be written better.