react中 父组件不传递props到子组件,如何通知子组件事件发生了?

场景:父组件接受到了点击事件,告知子组件刷新数据,只需要传递事件名,不需要传递数据。

这种情况下,通过一个什么方法或者机制来传递事件呢?目前想到的是event bus,还有更好的方案吗?

目前项目是基于react的

阅读 5.6k
5 个回答

方案:
1、FatherComponent维护一个随机数state,触发点击事件后,更新state;
2、将state作为prop,传递给ChildComponent;
3、ChildComponent里用useEffect监听该prop。

React的本质是个View,数据从上向下依次流动,监听事件容易破坏明显的数据流,不推荐。

通过 ref 直接调用子组件方法即可

回调函数
点击事件触发之后子组件刷新

event bus是vue特有的把,你是不是走错片场了,react有一些订阅消息来通信的库,你可以试试

那你可以直接上redux吧

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题