我希望能够通过dangerouslySetInnerHTML
获取我插入React组件的原始HTML字符串,并将其合并到虚拟DOM中。有没有办法做到这一点?
例如,如果我有:
<Component dangerouslySetInnerHTML={{__html: htmlFromServer}}></Component>
如何将htmlFromServer
引入虚拟DOM?谢谢!
答案 0 :(得分:2)
Facebook React Magic的部分功能可以满足您的需求:
答案 1 :(得分:1)
您可以使用DOMParser
本地执行此操作。
E.g:
let doc = new DocParser().parseFromString(htmlFromServer, 'text/html'),
body = doc.querySelector('body'),
div = document.createElement('div');
div.textContent = 'You DOM manipulator, you.';
body.appendChild(div);
return <Component dangerouslySetInnerHTML={{__html: body.innerHTML}}></Component>;