javascript - ReactJS - 如何将字符串中的html元素列表作为html元素返回
问题描述
我有一个 React 类,它从 JSON 生成一串 html 元素:
import React, { Component } from "react";
import "./Maps.css";
import df3 from "./data/df3.json"
import sample from "./data/sample.json"
class Maps extends Component {
constructor() {
super();
const data = df3;
this.state = data
}
render()
{
var df4 = df3["ds"]
var d1 = '';
for (var key in df4)
{
var host = df4[key];
d1 += '<div class="'+key+'" value="'+host[0]+'"/>';
}
return (
<div id="Maps"><div>
)
}
}
这是json:
{"ds":{
"s1": {
"0": 0.0,
"1": 2.0,
"2": 0.0,
}
"s1": {
"0": 0.0,
"1": 2.0,
"2": 0.0,
}
"s3": {
"0": 2.0,
"1": 2.0,
"2": 0.0,
}}
控制台日志记录 v1 向我们显示字符串(每个对象的第一个值):
'<div class="s1" value="0"/><div class="s2" value="0"/><div class="s3" value="2"/>'
我想将此字符串转换为一组 html 元素,并返回它们
return (
<div id="Maps">
<div class="s1" value="0"/>
<div class="s2" value="0"/>
<div class="s3" value="2"/>
</div>
)
任何帮助都深表感谢:)
解决方案
我创建了一个在此沙盒 url 中使用地图的示例 -> https://codesandbox.io/s/winter-water-ycy37?fontsize=14&hidenavigation=1&theme=dark
//.json
[
{ "class": "s1", "value": "0" },
{ "class": "s2", "value": "1" },
{ "class": "s3", "value": "2" },
{ "class": "s4", "value": "3" }
]
import React from "react";
import data from "./data.json";
import "./styles.css";
export default function App() {
return (
<div className="App">
<div id="Maps">
{data.map(element => (
<div className={element.class} key={element.value}>
{element.value}
</div>
))}
</div>
</div>
);
}
推荐阅读
- html - 如何隐藏图像上的线性背景?
- scala - 计算日期与其前一个日期之间的差异
- c# - 如何获得数据集的总数?
- java - 如何使用 Java 将 PDF 转换为 PS/EPS?
- c# - 分布式 CancellationToken 的抽象
- ios - AutoSizingCells preferredLayoutAttributesFitting 性能 [WWDC 2018]
- visual-studio-2017 - Visual Studio 调试时跳过项目(未报告问题)
- xaml - 超链接标签文本在 Xamarin 中悬停后未显示鼠标手形光标
- android - 我可以重新分发 Google Text-To-Speech 的结果吗?
- drag-and-drop - ag-grid - 使用拖放在两个网格之间传输数据