React 组件之间有哪些通信方式?适用于哪些场景?
- 父子通信
- 父到子通过传递 props
- 子到父通过事件通知
- 兄弟间通信
- 通过共同父组件中转
- 隔代通信
- React Context
- Redux 全局状态管理
- 全局状态共享
- Redux/Zustand
- URL/路由通信
- React Router 的 URL 参数、query string、location state
- Ref/Imperative Handle 通信
- useImperativeHandle + forwardRef
示例回答
父子之间用 props; 兄弟之间通过公共父组件; 跨多层用 Context 或状态管理; 对于复杂场景,可以引入 Redux 或 Zustand 实现全局状态共享; URL / 路由参数也可以作为页面间通信的一种手段; 少数情况下可以用 ref 暴露方法,或自定义事件进行解耦。