react/scripts/error-codes
Brian Vaughn 766a7a28a9
Improve React error message when mutable sources are mutated during render (#20665)
Changed previous error message from:
> Cannot read from mutable source during the current render without tearing. This is a bug in React. Please file an issue.

To:
> Cannot read from mutable source during the current render without tearing. This may be a bug in React. Please file an issue.

Also added a DEV only warning about the unsafe side effect:
> A mutable source was mutated while the %s component was rendering. This is not supported. Move any mutations into event handlers or effects.

I think this is the best we can do without adding production overhead that we'd probably prefer to avoid.
2021-01-29 10:22:55 -05:00
..
__tests__ Fix spelling errors and typos (#19138) 2020-06-15 19:59:44 -04:00
README.md Fix link on error-codes/README.md (#16595) 2019-08-28 15:49:45 +01:00
Types.js Update Flow to 0.84 (#17805) 2020-01-09 14:50:44 +00:00
codes.json Improve React error message when mutable sources are mutated during render (#20665) 2021-01-29 10:22:55 -05:00
extract-errors.js Use babel parser rather than Babylon in extract errors (#17988) 2020-02-06 12:46:32 +00:00
invertObject.js Drop the year from Facebook copyright headers and the LICENSE file. (#13593) 2018-09-07 15:11:23 -07:00
transform-error-messages.js Pass prod error messages directly to constructor (#17063) 2019-10-11 09:10:40 -07:00

README.md

The error code system substitutes React's error messages with error IDs to provide a better debugging support in production. Check out the blog post here.

  • codes.json contains the mapping from IDs to error messages. This file is generated by the Gulp plugin and is used by both the Babel plugin and the error decoder page in our documentation. This file is append-only, which means an existing code in the file will never be changed/removed.
  • extract-errors.js is an node script that traverses our codebase and updates codes.json. You can test it by running yarn extract-errors.
  • transform-error-messages is a Babel pass that rewrites error messages to IDs for a production (minified) build.