Javascript 在React组件之间交换事件

Javascript 在React组件之间交换事件,javascript,javascript-events,google-chrome-extension,reactjs,Javascript,Javascript Events,Google Chrome Extension,Reactjs,我正在制作一个Chrome扩展,在页面上插入两个不同的React扩展。我希望在第一个中选择其他内容时,通过向第二个发送一个包含适当数据的事件来保持它们之间的同步 在向其他组件发送事件时,是否有最佳实践 我从一开始就试过: evt = new CustomEvent("selectedEmailChange", { detail: { email: data.email } }); window.dispatchEvent(evt); 然后在第二节: componentDid

我正在制作一个Chrome扩展,在页面上插入两个不同的React扩展。我希望在第一个中选择其他内容时,通过向第二个发送一个包含适当数据的事件来保持它们之间的同步

在向其他组件发送事件时,是否有最佳实践

我从一开始就试过:

evt = new CustomEvent("selectedEmailChange", {
  detail: {
    email: data.email
  }
});
window.dispatchEvent(evt);
然后在第二节:

  componentDidMount: function() {
    this.listenForEmailChange();
  },
  componentWillUnmount: function() {
    window.removeEventListener("selectedEmailChange", this.handleEmailChange, false);
  },
  listenForEmailChange: function() {
    window.addEventListener("selectedEmailChange", this.handleEmailChange, false);
  },
  handleEmailchange: function() {
    debugger
    console.log("i heard you dog!");
  },

但是在第二次世界大战中什么都没有

gaah
handleEmailchange
应该是
handleEmailchange
(大写字母“C”)。

看起来订阅componentDidMount中的事件是最佳实践。。。改为尝试window.postMessage-我猜作为扩展,您不能发布这样的消息@我使用它与其他地方的主机页面进行通信,它肯定能工作。