Add React Performance checks for array-literal and object-literal props. #159
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In the same vein as the
jsx-no-lambda
rule, any dynamic expression, such as array or object expressions, can cause downstream components that adhere to the pure interface to re-render. Array and property literals created in the render() cycle will not have reference equality across renders, which may lead to unnecessary re-renderings.This PR is a bit of a WIP, but might be good enough for a first pass. Here are some things we could check for in addition to basic literals in properties:
-[ ] Inspect spread-props for dynamic object/array/lambda expressions
-[ ] Inspect
render()
methods for dynamic object/array/lambda expressions-[ ] If an component has a prop type that isn't a primitive or a function, emit a warning about implementing shouldComponentUpdate