切换到redux,我在哪里注册我的全局eventListener以获取下拉列表

时间:2016-06-01 14:56:41

标签: reactjs redux

我的Component中有两个函数:

openMenu = () => {
  this.setState({menuOpen: true})
  document.addEventListener('click', this.closeMenu)
}

closeMenu = () => {
  this.setState({menuOpen: false})
  document.removeEventListener('click', this.closeMenu)
}

这会打开一个下拉菜单,当我点击其他任何地方时将其关闭。如何使用redux实现此功能?处理state没问题,但click事件呢?

1 个答案:

答案 0 :(得分:1)

您已使用正确的addEventListener和相应的removeEventListener正确实现了自定义事件侦听器。

根据我的说法,我会将addEventListener放在componentDidMount和removeEventListener中,放入componentWillUnmount