UNPKG

ahooks

Version:
29 lines (28 loc) 886 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _react = require("react"); function useWhyDidYouUpdate(componentName, props) { var prevProps = (0, _react.useRef)({}); (0, _react.useEffect)(function () { if (prevProps.current) { var allKeys = Object.keys(Object.assign(Object.assign({}, prevProps.current), props)); var changedProps = {}; allKeys.forEach(function (key) { if (!Object.is(prevProps.current[key], props[key])) { changedProps[key] = { from: prevProps.current[key], to: props[key] }; } }); if (Object.keys(changedProps).length) { console.log('[why-did-you-update]', componentName, changedProps); } } prevProps.current = props; }); } var _default = exports["default"] = useWhyDidYouUpdate;