Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Recuperar elemento HTML de um JSON

Boa tarde, estou fazendo um projeto em React e queria exibir uma lista com items dinamicamente utilizando um arquivo JSON, porém cada item da lista possui um código html diferente, ai queria saber se tem alguma forma de colocar os elementos html dentro do JSON e recupera-los depois?

1 resposta
solução!

Olá Victor! Tudo ok contigo?

Sim, é possível colocar elementos HTML dentro de um arquivo JSON e recuperá-los posteriormente em um projeto React. Uma forma de fazer isso é armazenar os elementos HTML como strings no JSON e, ao recuperá-los, utilizar a função dangerouslySetInnerHTML do React para renderizá-los corretamente.

Por exemplo, suponha que você tenha um arquivo JSON chamado dados.json com a seguinte estrutura:

{
  "listaItens": [
    {
      "id": 1,
      "html": "<h1>Título 1</h1><p>Descrição 1</p>"
    },
    {
      "id": 2,
      "html": "<h2>Título 2</h2><p>Descrição 2</p>"
    }
  ]
}

No seu componente React, você pode recuperar os elementos HTML da seguinte forma:

import React from "react";
import dados from "./dados.json";

function ListaItens() {
  return (
    <div>
      {dados.listaItens.map((item) => (
        <div key={item.id} dangerouslySetInnerHTML={{ __html: item.html }} />
      ))}
    </div>
  );
}

export default ListaItens;

Dessa forma, cada item da lista será renderizado corretamente com o HTML contido no JSON.

Lembre-se de tomar cuidado ao utilizar a função dangerouslySetInnerHTML, pois ela permite a inserção de código HTML diretamente no DOM, o que pode representar um risco de segurança. Certifique-se de que os dados do JSON sejam confiáveis e não contenham código malicioso.

Espero ter ajudado, abraços e bons estudos!