我有不同类型的动作检查,它们执行不同的功能,只是我做了 if 和 else 条件来检查动作类型并执行相关功能,如下面的代码片段
public onMessage = (messageEvent) => {
if (messageEvent.data.action === 'subscribeTriggers') {
this.subscribeTriggers(messageEvent);
} else if (messageEvent.data.action === 'setGlobalFilters') {
this.setGlobalFilters(messageEvent);
} else if (messageEvent.data.action === 'getGlobalFilters') {
this.receiveGlobalFilters(messageEvent);
} else if (messageEvent.data.action === 'initFromGlobalFilters') {
this.initFromGlobalFilters(messageEvent);
}
有没有更好的解决方案来处理这种情况,因为我有可能在未来有更多的操作,我必须一次又一次地更改代码,我觉得这是低效的。
此onMessage
函数之间用作porthole库的事件侦听器(Porthole 是一个用于安全跨域 iFrame 通信的小型库。)我曾经在我的 react 应用程序的 iframe 中进行通信
提前致谢