synapse-react-client
Version:
[](https://travis-ci.com/Sage-Bionetworks/Synapse-React-Client) [](https://badge.fury.io/js/synaps
22 lines • 807 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var react_1 = require("react");
// https://stackoverflow.com/questions/41004631/trace-why-a-react-component-is-re-rendering
function useTraceUpdate(props) {
var prev = (0, react_1.useRef)(props);
(0, react_1.useEffect)(function () {
var changedProps = Object.entries(props).reduce(function (ps, _a) {
var k = _a[0], v = _a[1];
if (prev.current[k] !== v) {
ps[k] = [prev.current[k], v];
}
return ps;
}, {});
if (Object.keys(changedProps).length > 0) {
console.log('Changed props:', changedProps);
}
prev.current = props;
});
}
exports.default = useTraceUpdate;
//# sourceMappingURL=useTraceUpdate.js.map