David, boa noite!
Na documentação temos a seguinte afirmação
ComponentWillMount é invocado antes que o mounting ocorra. Ele é chamado antes de render(), portanto chamar setState() sincronamente neste método não irá acarretar numa renderização extra. Geralmente, nós recomendamos o constructor() como alternativa para inicializar o state.
Sendo assim ele é chamado antes do render
Já o método ComponentDidMount é chamado logo após o render, e não após sua destruição(unmount).
componentDidMount() É invocado imediatamente após um componente ser montado (inserido na árvore). Inicializações que exijam nós do DOM devem vir aqui. Se precisar carregar data de um endpoint remoto, este é um bom lugar para instanciar sua requisição.
Espero ter ajudado e bons estudos!