Lint Rules

noChildrenProp (since v0.10.0)

This rule is recommended by Rome.

Prevent passing of children as props.

When using JSX, the children should be nested between the opening and closing tags. When not using JSX, the children should be passed as additional arguments to React.createElement.

Examples

Invalid

<FirstComponent children={'foo'} />
correctness/noChildrenProp.js:1:17 lint/correctness/noChildrenProp ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

   Avoid passing children using a prop
  
  > 1 │ <FirstComponent children={'foo'} />
                   ^^^^^^^^
    2 │ 
  
   The canonical way to pass children in React is to use JSX elements
  
React.createElement('div', { children: 'foo' });
correctness/noChildrenProp.js:1:30 lint/correctness/noChildrenProp ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

   Avoid passing children using a prop
  
  > 1 │ React.createElement('div', { children: 'foo' });
                                ^^^^^^^^
    2 │ 
  
   The canonical way to pass children in React is to use additional arguments to React.createElement