Skip to content

Commit

Permalink
[Docs] jsx-no-constructed-context-values: fix invalid example syntax
Browse files Browse the repository at this point in the history
  • Loading branch information
kud authored and ljharb committed Jan 28, 2021
1 parent 4881bae commit 4ea7d3c
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 2 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Expand Up @@ -17,6 +17,10 @@ This change log adheres to standards from [Keep a CHANGELOG](http://keepachangel
* [`no-typos`]: avoid a crash on bindingless `prop-types` import; add warning ([#2899][] @ljharb)
* [`jsx-curly-brace-presence`]: ignore containers with comments ([#2900][] @golopot)

### Changed
* [Docs] [`jsx-no-constructed-context-values`][]: fix invalid example syntax ([#2910][] @kud)

[#2910]: https://github.com/yannickcr/eslint-plugin-react/pull/2910
[#2906]: https://github.com/yannickcr/eslint-plugin-react/pull/2906
[#2900]: https://github.com/yannickcr/eslint-plugin-react/pull/2900
[#2899]: https://github.com/yannickcr/eslint-plugin-react/issues/2899
Expand Down
4 changes: 2 additions & 2 deletions docs/rules/jsx-no-constructed-context-values.md
Expand Up @@ -23,7 +23,7 @@ return (
Examples of **correct** code for this rule:

```
const foo = useMemo(() => {foo: 'bar'}, []);
const foo = useMemo(() => ({foo: 'bar'}), []);
return (
<SomeContext.Provider value={foo}>
...
Expand All @@ -34,4 +34,4 @@ return (
## Legitimate Uses
React Context, and all its child nodes and Consumers are rerendered whenever the value prop changes. Because each Javascript object carries its own *identity*, things like object expressions (`{foo: 'bar'}`) or function expressions get a new identity on every run through the component. This makes the context think it has gotten a new object and can cause needless rerenders and unintended consequences.

This can be a pretty large performance hit because not only will it cause the context providers and consumers to rerender with all the elements in its subtree, the processing for the tree scan react does to render the provider and find consumers is also wasted.
This can be a pretty large performance hit because not only will it cause the context providers and consumers to rerender with all the elements in its subtree, the processing for the tree scan react does to render the provider and find consumers is also wasted.

0 comments on commit 4ea7d3c

Please sign in to comment.