Rules
no-void-elements-with-children
Disallows 'children' in void DOM elements.
Full Name in @eslint-react/eslint-plugin
@eslint-react/dom/no-void-elements-with-childrenFull Name in eslint-plugin-react-dom
react-dom/no-void-elements-with-childrenPresets
dom
recommended
recommended-typescript
recommended-type-checked
strict
strict-typescript
strict-type-checked
Rule Details
Self-closing HTML elements (e.g., <img />, <br />, <hr />) are collectively known as void DOM elements. React will give you a warning if you try to give these elements children:
Invariant Violation: img is a void element tag and must neither have children nor use dangerouslySetInnerHTML.
Common Violations
Invalid
<br>Children</br>
<br children="Children" />
<br dangerouslySetInnerHTML={{ __html: 'HTML' }} />
React.createElement('br', undefined, 'Children')
React.createElement('br', { children: 'Children' })
React.createElement('br', { dangerouslySetInnerHTML: { __html: 'HTML' } })Valid
<div>Children</div>
<div children="Children" />
<div dangerouslySetInnerHTML={{ __html: 'HTML' }} />
React.createElement('div', undefined, 'Children')
React.createElement('div', { children: 'Children' })
React.createElement('div', { dangerouslySetInnerHTML: { __html: 'HTML' } })Resources
Further Reading
See Also
no-dangerously-set-innerhtml-with-children
Disallows DOM elements from usingdangerouslySetInnerHTMLandchildrenat the same timeno-dangerously-set-innerhtml
Disallows DOM elements from usingdangerouslySetInnerHTML