【问题标题】:Strange behavior of addEventListener - ReactJsaddEventListener 的奇怪行为 - ReactJs
【发布时间】:2020-05-28 18:46:05
【问题描述】:

我正在 React 中创建一个树形结构,当我单击任何项​​目列表上下文菜单上的右键时,我有多种选项可供选择。当我点击任何选项时,都会出现模态。

而且它有效。但是,当我输入从服务器下载的树(由 redux 传递)而不是指定一个树结构时,情况会发生变化。然后突然从上下文菜单模式中单击选项后不会出现。

之前:

    componentDidMount(){
      //this.props.getTree()
      document.addEventListener('click', this.hideContextMenu.bind(this))

    }
    componentWillUnmount(){
      document.removeEventListener('click',this.hideContextMenu.bind(this))
    }
<Container>
                {this.renderSubNodes(treeFromConst)}      

更改后从服务器传递树​​:

    componentDidMount(){
      this.props.getTree()
      document.addEventListener('click', this.hideContextMenu.bind(this))

    }
    componentWillUnmount(){
      document.removeEventListener('click',this.hideContextMenu.bind(this))
    }
<Container>
                {treeFromServer && this.renderSubNodes(treeFromServer)}

这里是 CodeSandbox 的链接。我从 const 传递树 - https://codesandbox.io/s/github/krystianwolanski/ReactAndAspCoreTreeStructure/tree/master/ClientApp?file=/src/TreePage/TreePage.js

怎么了?我已经厌倦了好几天了

【问题讨论】:

    标签: reactjs react-redux


    【解决方案1】:

    我更改为 window.addEventListener 并且它正在工作。为什么?我不知道。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-18
      • 1970-01-01
      • 2021-08-01
      • 2021-06-22
      • 2020-02-03
      • 1970-01-01
      • 2015-09-27
      • 1970-01-01
      相关资源
      最近更新 更多