reactjs - 如何在选择中设置 HTML 代码
问题描述
我试图在我的选项中输出漂亮的分数,¼ ½ ¾ 但它显示“&frac 14;” 作为字符串。
如何让 JSX 解释我的 optionContent 并呈现 HTML,而不是作为字符串?
optionValue = "4.25" optionContent = "4 ¾" {optionContent}
解决方案
您可以使用 html-react-parser 来完成;
示例: https ://codesandbox.io/s/parsing-html-react-zlmwj
import React, { useState } from "react";
import Parser from "html-react-parser";
import "./styles.css";
export default function App() {
const [options, setOption] = useState(1);
const [listOptions] = useState([
{ id: 1, desc: "4 ¼" },
{ id: 2, desc: "4 ½" },
{ id: 3, desc: "4 ¾" }
]);
function handleSelect(e) {
const selected = e.target.value;
setOption(selected);
}
return (
<div className="App">
<h1>Example parsing html in React</h1>
<select value={options} onChange={e => handleSelect(e)}>
{listOptions.map(option => (
<option key={option.id} value={option.id}>
{Parser(option.desc)}
</option>
))}
</select>
</div>
);
}
推荐阅读
- reactjs - 如何在 react-native 中将子状态传递给父级?
- wpf - 设置样式时 RadDatePicker 无法正常工作
- python - 并行化一个刮板,没有任何反应
- python - PyCharm 中的三角形/圆形符号是什么意思?
- javascript - 守夜功能在while循环中不起作用
- java - 使用 Redis 从存储集中获取所有唯一分数?
- javascript - 反应中异步函数的结果未准备好返回元素
- bash - AWK比较两列形成不同的文件并合并输出
- angular - 如何在Angular中获取viewChild的innerHTML的值?
- typescript - 在运行时在提取的函数内提取正确的联合类型