Closed
Description
React currently suppress all console logs while double rendering (or double invoking render phase lifecycles) to reduce console noise, e.g.:
react/packages/react-reconciler/src/ReactFiberBeginWork.new.js
Lines 366 to 384 in 3101872
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).