在我的应用程序中,我需要获取 HTML 字符串。
(从服务器或从用户输入,也许是从 markdown 处理的东西,无论如何,看来我真的需要使用setDangerousHtml
.)
但我还需要该部分内的一些反应组件。
例如,我会将一些链接转换为Link
来自反应路由器;或者我在 HTML 中有一些东西,比如<myWidget:12345>
到反应组件<MyWidget id="12345" text=this.props.text >
.
这样做的反应方式是什么?
解决这个问题的方法之一是使用RenderToString
功能。将要插入的组件转换为字符串,如下所示:
import React, { Component } from 'react';
import { renderToString } from 'react-dom/server';
import MyComponent from 'MyComponent.jsx';
var MyComponentString = renderToString(MyComponent);
现在,将此字符串连接到来自 API 的任意位置的字符串中。使用基本的字符串操作函数来实现这一点。
然后,使用setDangerousHtml
实现最终的新DOM。尽管这可能不是推荐的方法,因为RenderToString
不应该在浏览器中使用,它会起作用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)