There is a React Hook for side effects
useEffect. You can pass
useEffect a function and that function will run after each render.
useEffect(() => console.log('rendered!'));
In many cases it’s inefficient and unnecessary to call the effect function after every render.
useEffect has a second argument of an array of values. If passing in this second argument, the effect function will only run when the values change.
useEffect(() => console.log('value changed!'), [props.isOpen]);
Now, you will see “value changed!” both on the first render and everytime
Reminder: React Hooks are for functional components not class components. Check out the hooks api here