javascript - 将现有元素注入 React
问题描述
我正在尝试将页面上已经存在的元素注入到我的反应 DOM 中以环绕它。
就像是:
var someElement = document.getElementById("stuff")
var parent = someElement.parentNode;
var wrapper = document.createElement("div");
wrapper.id = "root1";
parent.replaceChild(wrapper, someElement);
wrapper.appendChild(someElement);
ReactDOM.render(
<Wrapper child="{{someElement}}" />,
document.getElementById("root1")
);
我不确定如何将元素注入 react + 我需要元素的样式保持原样。
解决方案
你可以像这样使用 React 的dangerouslySetInnerHTML方法:
function getHtml(){
return "<h1>Hello World</h1>" // element.innerHTML (optional)
}
ReactDOM.render(
<Wrapper>
<div dangerouslySetInnerHTML={{ __html: getHtml() }} />
</Wrapper>,
document.getElementById("root1")
);
添加:<Wrapper/> should render { this.props.children }
此处的文档:https ://reactjs.org/docs/dom-elements.html#dangerouslysetinnerhtml
希望这可以帮助!
推荐阅读
- python - 如何在显示标签之前暂停我的代码
- java - 如何使用 java.net.InetAddress 静态方法运行 PowerMock v1.74
- javascript - 带有 SignalR 和简单 js 客户端的 Abp 通知
- sql - 试图从每组中只得到一行
- android - 动态更改 NestedScrollView 中包含的布局
- ios - CollectionView 单元格未在视图控制器中加载
- testing - 有没有办法使用它的显示名称选择下拉列表,其中下拉列表是从数据库而不是从 HTML 填充的?
- ios - 控制台中的 Firebase JSON 位置
- python - 由于标头而无法将请求调用的结果返回给 api
- sql - 如何在计算中创建带有 where 子句的计算字段