父与子的通信
最常见的场景,React开发的每个组件都在使用的设计模式每个组件都会在父级被使用,再传入Props,完成信息的传递
子与父的通信
主要依赖回调函数,回调函数在js中称为callback,通过回调函数获取内部包装的值.,通过这种方式可以让子组件专注于业务逻辑,让我们的父组件专注于渲染
兄弟组件
依赖于共同的父组件来进行中转.,这种模式主要负责在容器组件中协调各个组件.
无直接关系
无直接关系是两个组件的直接关联性小,身处于多层级的嵌套关系中,不是父子关系,不相邻,相对遥远但仍需共享数据,完成通信.
通信方案1.context
如果需要共享context需要每一个组件包装一个消费者,这样会带来许多无意义的代码.
通信方案2:全局事件和全局变量
全局变量与事件.全局变量,顾名思义是放在 Window上的变量修改Window上的变量并不会引起 React组件重新渲染
全局变量:更加的推荐用于暂存临时数据,并不推荐,因为会增加维护成本
全局事件:时间的绑定往往会在组件的加载的时候放入
通信方案3,状态管理框架