【问题标题】:Is it possible to communicate between React Applications?React 应用程序之间可以通信吗?
【发布时间】:2017-03-02 20:31:21
【问题描述】:

我的项目是三个 React 应用程序的旅程,我想使用从应用程序 1 到应用程序 2 和应用程序 2 到应用程序 3 的一些数据。

如果要传递的数据很小,我在第二个应用程序的url中的查询参数中传递它。

如果数据很大或私有,我打算将其作为帖子发送,应用程序 2 将收到该帖子。

有没有更好的方式在 React 应用程序之间进行通信? 我可以将每个到达应用程序作为可以将其数据公开给应用程序 2 的库吗?

【问题讨论】:

  • 你能成功吗?我有类似的问题陈述。我有 2 个独立的 react+Node 应用程序。现在我想在我的应用程序 1 中使用应用程序 2 的一些功能。我想将一些文件从应用程序 1 发送到应用程序 2。然后通过用户界面对其进行一些计算,然后将其返回给应用程序 1。请帮帮我!!
  • React 应用程序不相互通信。您可以将一个 React 应用程序重定向到外部 URL,该 URL 可以是另一个 React 应用程序,但不能共享存储数据。其他可能的解决方案是当一个 React 应用程序将其组件导出为节点模块时。
  • @BalramSingh 根据您的评论,您可以看看这个问题并尝试回答吗?-stackoverflow.com/questions/60005400/…

标签: reactjs react-jsx flux reactjs-flux


【解决方案1】:

如果您正在加载新页面,那么通过帖子发送到服务器是个好主意。

如果不是,则可以将其设置为某个全球位置,例如 window.application1Data = { data: data };

【讨论】:

  • 我们不能将它设置为全局变量,因为数据可能是敏感的
【解决方案2】:

您可以使用 postMessage (MDN link),现在每个浏览器都支持它。

它是一个跨域、基于事件的消息传递系统,直接在浏览器中运行,具有熟悉的 API。

在您的目标页面中处理消息之前,请务必检查消息的来源!

【讨论】:

    猜你喜欢
    • 2016-10-29
    • 1970-01-01
    • 1970-01-01
    • 2011-10-26
    • 2011-07-08
    • 2017-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多