Browse Source

add #detecting legacy context apis for strict mode post

main
cyan33 7 years ago
parent
commit
1b5cf20dcc
  1. 11
      content/docs/strict-mode.md
  2. BIN
      content/images/blog/warn-legacy-context-in-strict-mode.png

11
content/docs/strict-mode.md

@ -19,6 +19,7 @@ In the above example, strict mode checks will *not* be run against the `Header`
* [Identifying components with unsafe lifecycles](#identifying-unsafe-lifecycles)
* [Warning about legacy string ref API usage](#warning-about-legacy-string-ref-api-usage)
* [Detecting unexpected side effects](#detecting-unexpected-side-effects)
* [Detecting legacy context APIs](#detecting-legacy-context-apis)
Additional functionality will be added with future releases of React.
@ -85,4 +86,12 @@ For example, consider the following code:
At first glance, this code might not seem problematic. But if `SharedApplicationState.recordEvent` is not [idempotent](https://en.wikipedia.org/wiki/Idempotence#Computer_science_meaning), then instantiating this component multiple times could lead to invalid application state. This sort of subtle bug might not manifest during development, or it might do so inconsistently and so be overlooked.
By intentionally double-invoking methods like the component constructor, strict mode makes patterns like this easier to spot.
By intentionally double-invoking methods like the component constructor, strict mode makes patterns like this easier to spot.
### Detecting legacy context APIs
As is explained in the [previous legacy `context` post](/docs/legacy-context.html), the prior usage of context is error-prone, and will be removed in a future major version. It still works for all 16.x releases but will show up this warning message in strict mode:
![](../images/blog/warn-legacy-context-in-strict-mode.png)
Read the [new usage of context APIs](/docs/context.html) to help migrate to the new version.

BIN
content/images/blog/warn-legacy-context-in-strict-mode.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Loading…
Cancel
Save