Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 如何避免React组件中的DOM依赖关系?_Reactjs - Fatal编程技术网

Reactjs 如何避免React组件中的DOM依赖关系?

Reactjs 如何避免React组件中的DOM依赖关系?,reactjs,Reactjs,我有一个下拉式组件。单击下拉列表,它将打开。当用户单击文档上的任何其他位置时,下拉列表将关闭。我的组件有两个DOM依赖项: a) 它使用document.addEventListener钩住click事件 b) 在onClick处理程序中,它将event.target与其自己的DOM节点进行比较,如下所示: const me = ReactDOM.findDOMNode(this); const isMyChild = $(event.target).parents().filter((i, e

我有一个下拉式组件。单击下拉列表,它将打开。当用户单击文档上的任何其他位置时,下拉列表将关闭。我的组件有两个DOM依赖项:

a) 它使用
document.addEventListener
钩住click事件

b) 在
onClick
处理程序中,它将
event.target
与其自己的DOM节点进行比较,如下所示:

const me = ReactDOM.findDOMNode(this);
const isMyChild = $(event.target).parents().filter((i, el) => el === me).length === 1;

if( isMyChild ) {
  //don't close
  return;
} else {
  close();
}
如何以“反应方式”删除(或最小化)对DOM的依赖