why-did-you-render by Welldone Software monkey patches React to notify you about potentially avoidable re-renders. (Works with React Native as well.)
Now also tracks non-plain objects (like new User()
).
Thank you @barakyosi!!
PR: https://github.com/welldone-software/why-did-you-render/pull/179 CLOSED ISSUE: https://github.com/welldone-software/why-did-you-render/issues/74
fixed the bug "RangeError: Maximum call stack size exceeded" (#168) by making sure WDYR is not applied more than once under any circumstances.
React@17
is on it's way.useMemo
or useCallback
results:
deps
changes
deps
were differentuseCallback
invalidation due to deps
changes (fixes #46)
logOwnerReasons
true by defaultbabel-plugin-lodash
because lodash optimizations better are done by the user of the librarybabel-plugin-transform-classes
because we build with a newer babel where it is not needed anymore const sameObj = {a: {b: 'c'}}
ReactDom.render(<Main containerProps={{style: {height: '100%'}, className: 'default-highchart', sameObj}} />, domElement)
ReactDom.render(<Main containerProps={{style: {height: '100%'}, className: 'default-highchart', sameObj}} />, domElement)
Since props are equal by value, you will see the following option that allows for the generation of a detailed diff report:
lint
, test
, audit
, and e2e tests
for each PR.