componentwillmount in react memo code example

Example 1: replace componentwillmount with hooks

useEffect(() => {
	//will be called on every load
})

useEffect(() => {
	//will be called on component mount
  window.addEventListener('mousemove', () => {});

  // returned function will be called on component unmount 
  return () => {
    window.removeEventListener('mousemove', () => {})
  }
}, []) // <---- empty array at end will cause to only run on first load

Example 2: react memo

function MyComponent(props) {
  /* render using props */
}
function areEqual(prevProps, nextProps) {
  /*
  return true if passing nextProps to render would return
  the same result as passing prevProps to render,
  otherwise return false
  */
}
export default React.memo(MyComponent, areEqual);