why-did-you-render
why-did-you-render copied to clipboard
Diff function produces no output
Start by rendering a page, get this result, click on item 1:
Save as a global:
When I run the global function the result is undefined
:
I have seen this function produce detailed output before. So either I'm doing something wrong or there's a bug.
Talked this over with another dev and the issue is probably due to circular references in the object. If you want to fix that:
const getCircularReplacer = () => {
const seen = new WeakSet();
return (key, value) => {
if (typeof value === 'object' && value !== null) {
if (seen.has(value)) {
return;
}
seen.add(value);
}
return value;
};
};
JSON.stringify(obj, getCircularReplacer());
Related #250