Matheus, boa tarde!
Esse método do ciclo de vida do componente será descontinuado e só irá funcionar até a versão 17.
Abaixo tem algumas sugestões da própria equipe do React sobre qual seria a melhor forma de se usar no lugar dele:
* Se você usa componentWillReceiveProps para recomputar algum dado somente quando uma prop muda, utilize um memoization helper.
* Se você usa componentWillReceiveProps para “resetar” algum state quando uma prop muda, considere ou criar um componente completamente controlado ou completamente não controlado com uma key como alternativa. Para outros casos de uso, siga as recomendações neste post do blog sobre derived state.
Já sobre a renderização ele ocorre toda vez que o estado do elemento muda e somente as partes onde houveram alterações.
Espero ter ajudado e bons estudos!