gpt4 book ai didi

javascript - 为什么我的按钮无需在 RxJs fromEvent 中单击即可触发?

转载 作者:行者123 更新时间:2023-12-02 20:57:14 24 4
gpt4 key购买 nike

我有两个关于同一件事的问题。

首先,这是在 RxJs 中提交表单的正确方法吗?我正在尝试订阅 mouseEvent,如果是单击,则会向我的后端发出 POST 请求

所以在 react 中我这样做:

useEffect(() => {
const mouseClick$ = fromEvent(buttonEl.current, 'click').subscribe(console.log('hi123'))
})

console.log 是我最终执行 API POST 的地方。但是,每当我重新加载页面时,它就会立即注销 hi123,这是为什么?

  <button ref={buttonEl}>
Submit
</button>

为什么会发生这种情况?我希望订阅只会在点击时触发(顺便说一句,它们目前不是仅在加载时触发:/)

最佳答案

因为在安装组件时以及在您的情况下(因为您没有依赖数组)每次更新都会调用 useEffect

您不需要 useEffect 来处理表单,只需创建一个常规函数(例如 onSubmit)并在那里处理您的表单

关于javascript - 为什么我的按钮无需在 RxJs fromEvent 中单击即可触发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61443504/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com