== Why is this an issue? React has a special prop called `dangerouslySetInnerHTML` that allows you to assign a raw HTML string to the underlying DOM `innerHTML` property. Changing `innerHTML` will replace the element's child nodes or text content. For this reason, `dangerouslySetInnerHTML` should never be used together with component `children` as they will conflict with each other, both trying to set the inner content of the same element. [source,javascript,diff-id=1,diff-type=noncompliant] ---- function MyComponent() { return ( // Noncompliant: don't use children and dangerouslySetInnerHTML at the same time
Children
); } ---- To fix the issue leave either the element's `children` or `dangerouslySetInnerHTML`, but not both. [source,javascript,diff-id=1,diff-type=compliant] ---- function MyComponent() { return (
); } ---- == Resources === Documentation * React Documentation - https://react.dev/learn/passing-props-to-a-component#passing-jsx-as-children[Passing JSX as children] * React Documentation - https://react.dev/reference/react-dom/components/common#dangerously-setting-the-inner-html[Dangerously setting the inner HTML]