Skip to content

react_perf/jsx-no-jsx-as-prop Perf

What it does

Prevent JSX elements that are local to the current method from being used as values of JSX props.

Why is this bad?

Using locally defined JSX elements as values for props can lead to unintentional re-renders and performance issues. Every time the parent renders, a new instance of the JSX element is created, causing unnecessary re-renders of child components. This also leads to harder-to-maintain code as the component's props are not passed consistently.

Example

Examples of incorrect code for this rule:

jsx
<Item jsx={<SubItem />} />
<Item jsx={this.props.jsx || <SubItem />} />
<Item jsx={this.props.jsx ? this.props.jsx : <SubItem />} />

Examples of correct code for this rule:

jsx
<Item callback={this.props.jsx} />

References

Released under the MIT License.