Skip to content

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

What it does

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

Why is this bad?

Using locally defined Objects as values for props can lead to unintentional re-renders and performance issues. Every time the parent component renders, a new instance of the Object 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.

Examples

Examples of incorrect code for this rule:

jsx
<Item config={{}} />
<Item config={new Object()} />
<Item config={Object()} />
<Item config={this.props.config || {}} />
<Item config={this.props.config ? this.props.config : {}} />
<div style={{display: 'none'}} />

Examples of correct code for this rule:

jsx
<Item config={staticConfig} />

References

Released under the MIT License.