Em relação aos efeitos colaterais e ao ciclo de vida dos componentes funcionais no React, considere as afirmativas:
I. O hook useEffect pode simular os métodos componentDidMount, componentDidUpdate e componentWillUnmount dependendo da forma como é configurado.
II. Hooks como useMemo e useCallback são utilizados para memoização de valores e funções, ajudando a otimizar o re-render.
III. Ao utilizar useEffect sem um array de dependências, o efeito será executado uma única vez após a montagem do componente.
Está correto o que se afirma em