最近做了一个项目前端技术react,组件化开发;就其中的组件间通信的问题记录下来,沉淀。
组件间信息传递大致分为父子关系的组件间无非通过props传递、回调函数等,但实际的开发过程中我们会遇到层级关系很深的组件之间通信,当然这种情况我们用props一层层的传递下去当然没问题,但是肯定会造成代码冗余,组件间关系混乱等问题;或者同级组件之间的通信问题,我们可以通过全局变量,但是系统的混乱一部分原因就是全局变量;当然这些问题都有了解决方案,就是Flux单向数据流框架大致流向view->action->dispather->store,举个例子:在一个组件中点了查询,在另外一个组件中显示查询结果,我们要做的就是监听什么时候点了查询,然后把查询结果传递过来显示,其实核心的地方就是事件的监听注册,看一下flux的部分代码
他其实是通过events库拓展了他的事件注册监听功能,我有时候就在想,我其实就想用事件的注册监听,为什么要用上整个flux来增加系统的复杂度。于是改变之路开始了.......
我先看了events库的源码,很容易理解: