首页 > 解决方案 > 确定元素是否是 React 中另一个元素的子元素,并考虑门户

问题描述

我目前通过使用 ref 捕获我的组件的根元素并检查点击目标是否是来确定用户是否点击了子元素root.contains(target)

但是,一些子组件使用 React 门户在 DOM 中组件的根元素之外呈现其内容,即使它们仍然是 React 层次结构中的后代。我知道这个组件层次结构必须保存在某个地方。我是否可以访问它,并简单地确定一个元素是否是另一个元素的“React child”?

标签: javascriptreactjsdomreact-portal

解决方案


事件冒泡通过两个区域(门户部分和监控部分),可以通过拦截事件进行标记。

请参阅:ClickAwayListener 代码


推荐阅读