Uma duvida bem boba, mas pq declaramos o react, nos componentes, mas ele não é usado, e mesmo assim funciona?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Uma duvida bem boba, mas pq declaramos o react, nos componentes, mas ele não é usado, e mesmo assim funciona?
Olá Thiago, tudo certo?
Nenhuma dúvida é boba! essa dúvida é bem interessante inclusive, vamos por partes:
Por debaixo dos panos, quando você gera o JSX (JS com XML) o React transformava isso em React.createElement, ou seja:
<div>
Hello World
</div>Se transformava em:
React.createElement('div', null, 'Hello World')Por isto o React precisava estar no contexto do arquivo, pois o arquivo precisava ter o React para utilizar o createElement.
A partir do React na sua versão 17, a transformação de JSX mudou, e agora o React.createElement foi substituido pelo react/jsx-runtime, que já consegue entender o JSX sem o React e transforma nisso:
import { jsx as _jsx } from 'react/jsx-runtime';
...
_jsx('div', { children: 'Hello World' })Levando isto em consideração, no código acima não precisamos mais importar o React!
Caso você queira ler mais sobre isto, leia sobre a nova transformação do JSX e sobre a versão 17, que teve várias outras mudanças legais!
Bons estudos!