Conversor de HTML para JSX

Conversor de HTML para JSX: grátis, roda no seu navegador | We.Inc

Cole HTML e receba JSX válido: class vira className, for vira htmlFor, strings de style viram objetos, tags vazias são fechadas, além de comentários, eventos e um wrapper de componente. Nada é enviado.

Conversor de HTML para JSX

Cole o HTML à esquerda e este conversor escreve o JSX à direita enquanto você digita: class vira className, for vira htmlFor, estilos inline viram objetos em camelCase, tags vazias como img e input são autofechadas, comentários vão para dentro de chaves e vários elementos de nível superior ganham um fragment. A conversão roda só no seu navegador.

O que muda entre HTML e JSX

Copiar um trecho de um template, de um editor de e-mail ou de um pacote de ícones para um componente React costuma quebrar por causa de uma dúzia de pequenas diferenças. Esta ferramenta aplica as regras que o React documenta para JSX, explica cada mudança que fez e pode envolver o resultado em um componente com nome, pronto para colar.

Perguntas frequentes

Por que o React usa className em vez de class?

O JSX é compilado para JavaScript, onde class é uma palavra reservada. Por isso o React chama a prop de className. O mesmo raciocínio transforma o atributo for do label em htmlFor.

Atributos data- e aria- mudam no JSX?

Não. A documentação do React observa que, por razões históricas, os atributos aria-* e data-* são escritos exatamente como no HTML, com hifens. A maioria dos outros atributos com várias palavras vira camelCase.

Como escrevo estilos inline em JSX?

Passe um objeto para style com nomes de propriedades em camelCase, por exemplo style={{ fontWeight: 'bold', marginTop: 8 }}. O React adiciona px a números simples na maioria das propriedades. As chaves externas abrem uma expressão JavaScript e as internas são o objeto.

Por que recebo um erro sobre múltiplos elementos raiz?

Um componente só pode retornar um elemento. Envolva os elementos irmãos em um elemento pai ou em um fragment vazio, escrito <> e </>. O conversor faz isso por você quando o HTML tem mais de um nó de nível superior.

O meu HTML é enviado para algum lugar?

Não. A conversão é JavaScript puro rodando nesta página. Nada do que você cola é enviado ou armazenado.

As três regras por trás de toda conversão

O que ainda precisa de uma pessoa

Renomeações de atributos que o conversor aplica

Atributo HTML para prop JSX

Conversor

O exemplo abaixo é convertido ao vivo; troque-o pelo seu próprio HTML.

Nome do componente (opcional)

Copiar JSX

Mudanças feitas

Só foram necessárias as renomeações padrão.

O conteúdo de <{tag}> foi envolvido em um template literal para que as chaves fiquem literais.

Comece grátis · Sem cartão de crédito

Relacionados: Ferramentas grátis

Produto

Para quem é

Recursos

Recursos

Empresa

Mapa do site