When hiddenLogo changes value, the component is re-rendered. I want this component to never re-render, even if its props change. With a class component I could do this by implementing sCU like so:
shouldComponentUpdate() { return false; } But is there a way to do with with React hooks/React memo?
Here's what my component looks like:
import React, { useEffect } from 'react'; import PropTypes from 'prop-types'; import ConnectedSpringLogo from '../../containers/ConnectedSpringLogo'; import { Wrapper, InnerWrapper } from './styles'; import TitleBar from '../../components/TitleBar'; const propTypes = { showLogo: PropTypes.func.isRequired, hideLogo: PropTypes.func.isRequired, hiddenLogo: PropTypes.bool.isRequired }; const Splash = ({ showLogo, hideLogo, hiddenLogo }) => { useEffect(() => { if (hiddenLogo) { console.log('Logo has been hidden'); } else { showLogo(); setTimeout(() => { hideLogo(); }, 5000); } }, [hiddenLogo]); return ( <Wrapper> <TitleBar /> <InnerWrapper> <ConnectedSpringLogo size="100" /> </InnerWrapper> </Wrapper> ); }; Splash.propTypes = propTypes; export default Splash;