React - Redux -订阅外部事件

React - Redux - subscribe to external events

本文关键字:外部 事件 Redux React      更新时间:2023-09-26

我有一个React-redux应用程序,包含存储、操作、reducer和所有这些东西。所有的工作需要。但有一个小问题。通过点击一个按钮,我必须显示一个IFrame,其中另一个React应用程序被加载(非常过时的React)。即使在这里,一切都是必要的。无法捕获从过时的应用程序触发的事件。为了触发事件,我使用了这样的代码

window.parent.$(window.parent.document).trigger('HIDE_QUOTE_EDIT', {sender: 'quote-edit'});

我尝试在主应用程序中订阅这个

$(document).on('HIDE_QUOTE_EDIT', () => {console.log('Caught hide quote edit');});

,但这从来没有像需要的那样工作。

  1. 处理这种情况的最佳方法是什么?
  2. 如果我以某种方式捕获此事件,我如何获得对dispatch对象的引用,以便我可以调用操作?

Thx

注:我知道这不是一个正确的设计,但我必须用我所有的。

  1. 不要使用jQuery从节点,使用jQuery对象从常规jQuery脚本在你的html页面,否则事件将不会被捕获
  2. 在mapDispatchToProp中保存dispatch对象,你可以通过this.props.dispatch访问它并调度任何你想要的动作

解决问题。