使 React 组件作为 Widget 可用

2024-03-12

我有一个复杂的 React 应用程序(包括渲染某些组件的身份验证等),并且有一个特定的组件,一个日期选择器,我希望其他用户将其作为 Google 地图的小部件嵌入到他们的网站上(<script src="my_widget"></script>).

我已经成功地将其作为 iFrame 进行共享,但我想了解如何将其作为“正确的”小部件进行共享。我在 SO 上找到的大多数解决方案都不符合我的理解能力,也许我被指出了一个更菜鸟的解决方案。

仅供参考,我正在使用create-react-app用于加载 React 应用程序的样板代码:

ReactDOM.render(
  <App />,
  document.querySelector("#root")
);

您可以按原样创建您的反应应用程序。要使其正常工作,您还需要做两件事。

  1. 提供一种通过主机页面按需加载或呈现应用程序的方法。例如,而不是调用ReactDOM.render(<App />, document.querySelector("#root"));直接在主应用程序中,您可以添加如下方法:
const loadApp = (targetElement) => {
   ReactDOM.render(<App />, targetElement);
};

您可以使用这样的全局变量来公开此方法。

window.reactWidget.load = loadApp;
  1. 之后,您需要创建一个 JS 片段,它可以加载捆绑的 javascript 文件,并在从网络加载文件后调用此函数。
 window.reactWidget.load(document.querySelector(#whatever'));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使 React 组件作为 Widget 可用 的相关文章

随机推荐

  • 从命令行登录 Firebase 工具

    我正在使用 Codeship 部署 firebase 应用程序 为此 我首先需要使用firebase login命令 问题是 我需要在浏览器中登录 然后返回命令行并执行部署 是否有一种自动方式向 Firebase 提供凭据 Cheers f
  • cursor.toArray() 返回一个承诺而不是数组

    目前使用node 4 3 2和mongo 2 6 我正在尝试获取整个集合 集合中当前有三个文档 当我使用这段代码时 我遇到了一个问题 function checkUpdateTime last updated var collection
  • 如何转换上传的视频并从此文件获取屏幕截图?

    我正在构建一个CMS 我希望用户能够上传视频 但我不熟悉视频上传和转换 有没有例子或者有人编写了这样的解决方案 我听说过 ffmpeg 但我不知道如何将它与 asp net 集成 作为简单的解决方案 我可以让我的客户上传 flv 文件 但我
  • 如何向 graphql 中的输入参数添加默认值

    我有这种输入类型 我想向其中一个字段添加默认值 我想将 0 添加到 ExampleInput 内的值字段 type ExampleType value Int another String type Mutation example inp
  • 在dispatch_async中正确引用self

    如何在快速关闭中正确引用 self dispatch async dispatch get main queue self popViewControllerAnimated true 我收到错误 Cannot convert the ex
  • django-admin 中的模型描述

    django admin中是否可以在某个模型的列表显示页面上放置模型描述或描述 我说的是当你点击 django admin 主页上的模型名称链接并进入该模型的列表显示页面时 表格顶部将写有说明 就像是 该模型用于记录将通过我们的抓取获取的所
  • SVG 容器在 Safari 桌面中呈现错误的大小(在 Chrome/iOS 中正常)

    我以为 Safari 已经解决了这个问题 但它似乎仍然是一个问题 除非我做了一些明显错误的事情 我在对象标签内放置了一个 SVG 它被包裹在一个灵活的包含 DIV 中 例如设置为宽度 50 在调整大小时 容器高度在 Firefox Chro
  • JPMS支持模块版本吗?

    我以为JPMS不支持模块版本 然而 当我这样做时java list modules我有以下输出 java activation 9 java base 9 java compiler 9 java corba 9 java datatran
  • 使用 jenkins 执行 wsl.exe 返回 exit -1073740791

    我在一台具有 WSL 适用于 Linux 的 Windows 子系统 的 Windows 10 计算机上设置了 jenkins 例如 当我从终端运行简单命令 C Windows System32 wsl exe help 时 它工作正常 使
  • 删除 Shapely 多边形外部的 numpy 网格点

    我有一个 10 x 10 网格 我想删除形状多边形之外的点 import numpy as np from shapely geometry import Polygon Point from descartes import Polygo
  • 如何为 powershell 函数的描述属性添加值?

    我想填充我在 PROFILE 中创建的 Powershell 函数的 Description 属性 我想向 描述 属性添加一个值 例如 在个人配置文件中创建 这可能吗 目前 如果我检查我的功能描述 我发现没有填充任何内容 例如 Get Co
  • 应该匹配 RSpec 期望语法

    正确的使用格式是什么应该匹配器 https github com thoughtbot shoulda matchers和 RSpec 的新期望语法 http myronmars to n dev blog 2012 06 rspecs n
  • 使用 Firebase android 时如何向用户添加用户名?

    我目前开始在我的 Android 应用程序中使用 Firebase 并使用其 GitHub 上的示例来创建登录和注册活动 https github com firebase quickstart android https github c
  • 在 onDragStop 事件中获取 Material UI Slider 值

    我想触发一个事件onDragStop而不是onChange使用材质 UISlider在我的 React 应用程序中 以便事件触发次数更少 但是 那文档 https mui com material ui react slider表明onDr
  • 尝试使用 ItemsControl.AlternationIndex 显示列表中的行索引

    我有以下 XAML 旨在将行号放在左列中 但所有输出都是0
  • 根据父 ID 值将数组从一维转换为多维

    我有一个代表多维数据的一维对象数组 array array id gt 45 parent id gt null array id gt 200 parent id gt 45 array id gt 345 parent id gt 45
  • 密码强度检查库[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 任何人都可以推荐一个 Java 库 其中包含适合在 Web 应用程序中执行服务器端密码强度检查的方法 理想情况下 检查器应该是 可配置 允
  • 如何在Python中子类化str

    我正在尝试对 str 对象进行子类化 并向其添加几个方法 我的主要目的是学习如何去做 我陷入困境的是 我是否应该在元类中对 string 进行子类化 并使用该元创建我的类 或者直接对 str 进行子类化 而且 我想我需要实施 new 不知何
  • 使用 NHibernate 和动态匿名对象在 GroupBy 查询中进行选择

    我的主要目标是创建一个动态组并在 NHibernate 中使用它 考虑这个非动态的例子works repository Collection
  • 使 React 组件作为 Widget 可用

    我有一个复杂的 React 应用程序 包括渲染某些组件的身份验证等 并且有一个特定的组件 一个日期选择器 我希望其他用户将其作为 Google 地图的小部件嵌入到他们的网站上 我已经成功地将其作为 iFrame 进行共享 但我想了解如何将其