Assistindo a aula me surgiu uma dúvida sobre a estrategia utilizada. Se a ideia é isolar o componente que utilizamos de modulos de terceiros, a utilização do spread operator do props não acaba ferindo o conceito original?
Se a ideia é facilitar a manutenção do código, evitando que nós tenhamos que reescrever nosso código em diversas partes, não se deveria utilizar o spread operator.
Imagine que você tem uma aplicação que utiliza o LinkWrapper como mostrado na aula. Este componente é utilizado 100 vezes. Da forma como foi implementado o LinkWrapper, se algum parametro passado ao spread operator mudar, na implementação do NavLink, teremos que alterar todos os 100 lugares que implementamos o LinkWrapper.
A minha colocação faz sentido, ou estou deixando escapar alguma funcionalidade do JS?