包含标签到reactjs元素的字符串
String containing hashtag to reactjs element
大家好,我正在使用咖啡脚本和ReactJS为我的网站。到目前为止,我的开发很顺利,直到我遇到了带有hashtag的String,然后将hashtag转换为react element
元素反应@HashtagLink = React.createClass
displayName: 'hashtag link'
render: ->
React.DOM.a null,
href:'/hashtag/' + @props.hashtag
@props.hashtag
JS函数
@hashTagToLink = (string) ->
string.replace(/#('S*)/g,'<a href="http://emilenriquez.com">$1</a>')
示例字符串:I am a string with #hashtag I want to be converted to link
期望输出:我是一个带有#hashtag的字符串,我想转换为链接
电流输出:I am a string with <a href="emilenriquez.com">#hashtag</a> I want to be converted to string
你的@hashTagToLink
正在创建一个适合innerHTML
的字符串,而不是创建一个React元素。
如果你想让它返回一个react元素,像这样的东西应该可以工作:
@hashTagToLink = (string) ->
newString = string.split(/#('S*)/g)
return React.DOM.div(null,
newString[0],
React.DOM.a({
href: 'http://emilenriquez.com'
}, newString[1]),
newString[2],
)
一个替代方案: React组件也有一个dangerouslySetInnerHTML
方法,所以如果你做需要返回字符串作为DOM片段。你可以使用:
<div dangerouslySetInnerHTML={ __html: @hashTagToLink() } />
https://facebook.github.io/react/tips/dangerously-set-inner-html.html 相关文章:
- 对id以某个字符串开头的元素进行计数
- 如何使用jQuery each分离字符串中的元素
- 如何使用JQuery在Javascript中转换字符串中的HTML元素
- 数组中元素(字符串)的总和
- JavaScript forEach.迄今为止的字符串元素
- 试图从数组中只移除字符串元素,但无法向右循环
- 如何将主干序列化形式的所有字符串元素大写
- 如何在 JS 中将字符串元素解析为对象
- 将 JSON 数组中的字符串元素解析为整数
- 使用字符串元素列表作为 Select2 组件的源
- 从 JavaScript 数组中删除字符串元素
- 将字符串元素传递给数据键
- 使用JavaScript将每个数组字符串(元素)的某些部分加粗
- 检查javascript数组中的字符串元素
- 将数组的字符串元素与另一个数组的对象元素属性进行比较
- 如何拆分字符串数组中的每个字符串元素
- 试图使用映射将字符串元素添加到数组
- 在javascript的for循环中设置数组's字符串元素的长度为一个变量
- 在javascript中查找数组中字符串元素的最大出现次数
- 在Django中发送一个字符串元素列表