React com JSX
No exemplo anterior, vimos como criar elementos React usando React.createElement()
. Agora, vamos dar um passo adiante e usar JSX, uma extensão de sintaxe para JavaScript que torna a escrita de elementos React muito mais intuitiva e semelhante ao HTML.
Para usar JSX, precisamos de um transpilador que converta o código JSX em JavaScript puro que o navegador possa entender. Vamos usar o Babel para isso.
Primeiro, crie uma nova pasta para este exemplo:
Agora, crie um arquivo index.html
com a seguinte estrutura:
Criando o arquivo JSX
Crie um arquivo chamado script.jsx
com o seguinte conteúdo:
Transpilando JSX com Babel
Agora, vamos usar o Babel para transpilar nosso código JSX em JavaScript puro. Usaremos o npx para executar o Babel sem precisar instalá-lo globalmente:
Este comando faz o seguinte:
- Usa o
@babel/cli
para executar o Babel. - Aplica o preset
@babel/preset-react
para transpilar o JSX. - Lê o arquivo
script.jsx
. - Gera o output em
dist/script.js
.
Executando o exemplo
Para executar o exemplo, você pode usar o mesmo servidor HTTP que usamos anteriormente:
Acesse http://localhost:8080
no seu navegador para ver o resultado.
Comparando com o exemplo anterior
Observe como o código JSX é muito mais legível e intuitivo comparado ao uso direto de React.createElement()
. Com JSX, podemos escrever nossa interface quase como se estivéssemos escrevendo HTML, mas com todo o poder do JavaScript à nossa disposição.
Agora que já entendemos como funciona o React por trás dos panos, podemos partir para o próximo exemplo, onde vamos criar nossos primeiros componentes usando o React com Vite.