Javascript 在React组件之间交换事件
我正在制作一个Chrome扩展,在页面上插入两个不同的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
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-我猜作为扩展,您不能发布这样的消息@我使用它与其他地方的主机页面进行通信,它肯定能工作。