繁体   English   中英

如何在 React 中添加事件监听器?

[英]How to add event listener in React?

我正在使用用户和代理创建一个聊天应用程序。 当代理在他单独的 Rainbow UI 上回复时,我正在尝试检索消息。 问题是这只能通过文档中所示的事件侦听器来完成。 有人可以帮助我,我可以在哪里以及如何在 React 中document.addEventListener .addEventListener?

注意:getMessageFromConversation() api 不起作用,因为默认情况下,一旦看到完整的消息历史记录,调用此 api 将返回错误。 我试过了。

提前致谢!

如果您使用的是基于 class 的组件,那么您可以使用componentDidMountcomponentWillUnmount分别添加和删除监听器,如下所示:

class Hello extends React.Component {
  doSomething = () => {}

  componentDidMount() {
    window.addEventListener('scroll', this.doSomething)
  }

  componentWillUnmount() {
    window.removeEventListener('scroll', this.doSomething)
  }
}

如果您使用钩子,那么您可以使用useEffect添加和删除监听器,如下所示:

function Hello() {
  useEffect(() => {
    const doSomething = () => {};

    window.addEventListener("scroll", doSomething);
    return () => {
      window.removeEventListener("scroll", doSomething);
    };
  }, []);
}

您可以在 componentDidMount 中在 react 中添加一个 eventListener,以便在安装组件时完成。

componentDidMount() {
    document.addEventListener(...)
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM