Han*_*Han 6 javascript dom express ecmascript-6 reactjs
我正在与用户和代理创建一个聊天应用程序。当代理在他单独的 Rainbow UI 上回复时,我试图检索消息。问题是这只能通过事件监听器来完成,如文档中所示。有人可以帮助我吗?在 React 中我可以在哪里以及如何进行document.addEventListener?
注意: getMessageFromConversation() api 不起作用,因为默认情况下,一旦看到完整的消息历史记录,调用此 api 将返回错误。我试过了。
提前致谢!
小智 9
如果您使用基于类的组件,那么您可以使用componentDidMount和componentWillUnmount分别添加和删除侦听器,如下所示:
class Hello extends React.Component {
doSomething = () => {}
componentDidMount() {
window.addEventListener('scroll', this.doSomething)
}
componentWillUnmount() {
window.removeEventListener('scroll', this.doSomething)
}
}
Run Code Online (Sandbox Code Playgroud)
如果您使用挂钩,那么您可以使用useEffect以下方式添加和删除侦听器:
function Hello() {
useEffect(() => {
const doSomething = () => {};
window.addEventListener("scroll", doSomething);
return () => {
window.removeEventListener("scroll", doSomething);
};
}, []);
}
Run Code Online (Sandbox Code Playgroud)
您可以在react中添加一个eventListener,在componentDidMount中这样做,以便在安装组件时完成。
componentDidMount() {
document.addEventListener(...)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18608 次 |
| 最近记录: |