我一直在尝试使用带有标准.toImage的React.js的EmojiOne(参见docs http:// git.emojione.com/demos/latest/jstoimage.html)。这是我的代码看起来像或多或少
//react imports
import emoji from 'emojione';
//class component etc. render
return(
//other things from component
{emoji.toImage(':smile:')}
)
哪个给了我
这是在inspect元素中的样子:
从我所知,emojione库将图像代码放入React作为文本,而不是作为元素。知道为什么吗?
谢谢!
答案 0 :(得分:0)
React正在逃避EmojiOne的输出,以避免跨站点脚本攻击。您可以(但可能不应该......)使用shadowHidden={true}
将EmojiOne的输出作为“实际”HTML注入。
有人已经编写了一个可能有用的React EmojiOne包装器:https://github.com/pladaria/react-emojione
有关dangerouslySetInnerHTML
的更多信息及其原因,请查看:https://facebook.github.io/react/tips/dangerously-set-inner-html.html