javascript - 如何在 iframe 中呈现完全捆绑的 React 应用程序?
问题描述
高级概述:
我正在构建一个 SDK,以允许人们将自定义工具构建到我们现有的应用程序中。出于安全原因,这些自定义工具将托管在 iframe 中。他们需要能够从父窗口接收数据,并在 iframe 中操作相关数据时将更改传达回父窗口。
如何从我的父应用程序中的自定义工具访问构建的可执行文件,以便在 iframe 中呈现它们?如果有用,很乐意提供代码片段,但更多的是寻找入门方向。
谢谢!
解决方案
下面的 React 元素在 iframe 中呈现,它需要包含react.production.min.js
并react-dom.production.min.js
与您的 Babel 转译的 React 应用程序一起:
ReactDOM.render(
(<h1>Hello!</h1>),
document.getElementById('root')
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
<div id="root"></div>
请注意,实际包含在 iframe 中时的调用ReactDOM
是不同的,因为它已从 JSX 转换为常规 ES6,但除此之外它几乎是复制粘贴:
推荐阅读
- c# - 静态变量会在方法调用之间在 ASP.NET MVC RestAPI 中保持活动状态吗?
- javascript - 在异步函数上调用 await 会引发错误
- php - php - cookie 的 empty() 函数不起作用
- tcp - scapy kamene 发送 SYN 数据包
- qt - 如何转换 Qt Quick UI 表单中的项目?
- java - 为什么日期时间 1-1-1970 00:00:00 的毫秒数为负数?
- database - InterSystems IRIS 提供程序通信链接失败:C# 中的 System.Net.Sockets.SocketException
- bash - 将每个文件复制到用户定义的目标
- sql - 选择所有具有 UN 状态及其过去状态的用户
- powershell - 通过传递不同的 VariableGroup 在多个时间安排 Azure devops 版本