Skip to content

useForComponent

Enforce using Solid’s <For /> component for mapping an array to JSX elements.

In Solid, <For /> component for efficiently rendering lists. Array#map causes DOM elements to be recreated.

For details on <For /> Component, see the Solid docs about Components.

let Component = (props) => <ol>{props.data.map(d => <li>{d.text}</li>)}</ol>;
code-block.jsx:1:33 lint/nursery/useForComponent ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Array.prototype.map will cause DOM elements to be recreated, it is not recommended to use it in Solid here.

> 1 │ let Component = (props) => <ol>{props.data.map(d => <li>{d.text}</li>)}</ol>;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2 │

Use Solid’s <Emphasis></Emphasis> component for efficiently rendering lists. See Solid docs for more details.

let Component = (props) => <>{props.data.map(d => <li>{d.text}</li>)}</>;
code-block.jsx:1:31 lint/nursery/useForComponent ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Array.prototype.map will cause DOM elements to be recreated, it is not recommended to use it in Solid here.

> 1 │ let Component = (props) => <>{props.data.map(d => <li>{d.text}</li>)}</>;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2 │

Use Solid’s <Emphasis></Emphasis> component for efficiently rendering lists. See Solid docs for more details.

let Component = (props) => (
<ol>
{props.data.map((d) => (
<li key={d.id}>{d.text}</li>
))}
</ol>
);
code-block.jsx:3:6 lint/nursery/useForComponent ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Array.prototype.map will cause DOM elements to be recreated, it is not recommended to use it in Solid here.

1 │ let Component = (props) => (
2 │ <ol>
> 3 │ {props.data.map((d) => (
^^^^^^^^^^^^^^^^^^^^^^^
> 4 │ <li key={d.id}>{d.text}</li>
> 5 │ ))}
^^
6 │ </ol>
7 │ );

Use Solid’s <Emphasis></Emphasis> component for efficiently rendering lists. See Solid docs for more details.

let Component = (props) => <ol><For each={props.data}>{d => <li>{d.text}</li>}</For></ol>;
let abc = x.map(y => y + z);
let Component = (props) => {
let abc = x.map(y => y + z);
return <div>Hello, world!</div>;
}
biome.json
{
"linter": {
"rules": {
"nursery": {
"useForComponent": "error"
}
}
}
}