Skip to content

[DevTools] Console logging and StrictMode double rendering #21889

@bvaughn

Description

@bvaughn

React currently suppress all console logs while double rendering (or double invoking render phase lifecycles) to reduce console noise, e.g.:
https://github.com/facebook/react/blob/310187264d01a31bc3079358f13662d31a079d9e/packages/react-reconciler/src/ReactFiberBeginWork.new.js#L366-L384

Unfortunately this often causes confusion and leads to complaints (see the discussion on #21783). We could leverage DevTools to improve the default experience and give developers control over this behavior.

  • Disable console suppression by default in React.
  • Add an API for DevTools and React to communicate about when double rendering (or lifecycles) start and stop.
  • DevTools should gray out (but not hide) logs during second render pass by default.
  • DevTools should expose a new Debugging preference that allows users to suppress second logs entirely (mimicking the current default behavior).

Metadata

Metadata

Assignees

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions