场景:父组件接受到了点击事件,告知子组件刷新数据,只需要传递事件名,不需要传递数据。
这种情况下,通过一个什么方法或者机制来传递事件呢?目前想到的是event bus,还有更好的方案吗?
目前项目是基于react的
场景:父组件接受到了点击事件,告知子组件刷新数据,只需要传递事件名,不需要传递数据。
这种情况下,通过一个什么方法或者机制来传递事件呢?目前想到的是event bus,还有更好的方案吗?
目前项目是基于react的
10 回答11.7k 阅读
2 回答3.2k 阅读✓ 已解决
2 回答4.2k 阅读✓ 已解决
4 回答4.6k 阅读✓ 已解决
3 回答2.7k 阅读✓ 已解决
4 回答2.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
方案:
1、FatherComponent维护一个随机数state,触发点击事件后,更新state;
2、将state作为prop,传递给ChildComponent;
3、ChildComponent里用useEffect监听该prop。
React的本质是个View,数据从上向下依次流动,监听事件容易破坏明显的数据流,不推荐。