Skip to content

Instantly share code, notes, and snippets.

@machadogj
Created May 26, 2017 22:27
Show Gist options
  • Save machadogj/28d1ddb79498514493c628fdcc381770 to your computer and use it in GitHub Desktop.
Save machadogj/28d1ddb79498514493c628fdcc381770 to your computer and use it in GitHub Desktop.
Why does my component re-render?
// helper for debugging why your (pure) component is re-rendering
const wrapper = (Cmp) => (props) => {
if (wrapper.prevProps) {
console.log('re-rendering', Cmp.name);
Object.keys(props)
.filter(k => wrapper.prevProps[k] !== props[k])
.forEach(k => console.log(k, wrapper.prevProps[k], props[k]));
}
wrapper.prevProps = props;
return <Cmp {...props} />
}
export default wrapper;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment