javascript - 解析 React 中字符串中的嵌套 HTML?
问题描述
我正在 React 中构建一个预先输入的功能。
我有一个包含对象数组的包装器组件,它呈现item
;这是一个无状态组件。
所以,假设我有const name= 'Hasan'
. 解析为 >> const parsedName = Ha<span>san</span>
; 假设要搜索的词是san
.
我已经尝试过dangerouslySetInnerHTML={{ __html: parsedName }}
父元素的属性,但它没有用。
使用纯 html 这将是:
el.innerHTML = parsedName
目标是根据需要设置跨度的样式。有任何想法吗?
解决方案
class Test extends React.Component {
render() {
const name = 'san';
const parsedName = name.replace(new RegExp('san', 'ig'), '<span>span</span>');
return (
<div dangerouslySetInnerHTML={{__html: parsedName}}/>
);
}
}
ReactDOM.render(
<Test/>,
document.getElementById('container')
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id="container">
</div>
没有代码,很难分辨出什么是错的。我在这里创建了一个工作片段,可以帮助您调试问题。
根据评论更新了示例。
推荐阅读
- c# - 发布错误:使用 dotnet 发布的 MSB4019
- elasticsearch - 数组中的 Elasticsearch sql 查询对象
- postgresql - 美元报价因 JDBC 失败
- javascript - 使用javascript显示特定字符后跟字符串中的数字
- java - Netty ByteBuf 接收大小!= 发送大小
- django - django 用于制作我的推荐系统
- powershell - Exchange 导出脚本未写入单个 pst 文件
- pyspark - Spark 无法读取 kafka 主题并给出错误“无法在超时 6000 内连接到 Zookeeper 服务器”
- apache-spark - spark 2.3.0、aws-sdk-java 1.7.4 - s3a 读取失败并出现 AmazonS3Exception 错误请求?
- php - 我的邮件功能有什么错误?