【发布时间】:2019-08-06 19:42:36
【问题描述】:
我想在我的 React 应用程序中使用 npm 的“事件”模块。我有一个用 phaserjs 开发的游戏,它也有关卡编辑器。 “事件”将用于与游戏模块进行通信。 根目录的文件夹结构
- 客户端
- 源
- App.js
- index.js
- 组件/游戏视图
- 组件/关卡创建者视图
- 源
- 游戏
- 服务器
有人做过同样的事情,但角度不同—— 在它的 app.js 中
const eventEmitter = require('events').EventEmitter();
window.eventEmitter = eventEmitter;
eventEmitter.on('loaded', () => { console.log('\n\ncreator loaded\n\n') })
在他的 Angular 应用程序的其他状态下,他会采取 --
const eventEmitter = window.eventEmitter;
eventEmitter.emit('start game');
Here's the link to that project, 查看浏览器模块、app.js 以及 browser/states/createlevel
我想做同样的事情,我的项目类似但游戏逻辑不同。
游戏模块具有所有必要的事件发射器和侦听器设置
我尝试在我的 index.js 中设置 window.eventsEmitter() 并在其他组件中使用它。问题从这里开始,我如何在 React 类或函数中使用它,应该在构造函数中还是应该在生命周期方法中设置它,还是应该将它放在完全不同的 js 文件中并包含它?我尝试了最多(最后一个除外)但失败了。
我还搜索了如何做到这一点,但没有得到我想要的东西。任何建议都会非常有帮助。提前致谢。
【问题讨论】:
标签: reactjs npm events phaser-framework