如何将打字稿中的目标设置为rxjs中的fromEvent()

问题描述 投票:0回答:1

我在打字稿旁使用'rxjs'库。问题是,我不知道如何将简单按钮从rxjs []传递给rxjs

尝试这样做会使编译器抱怨:

fromEvent()

这将引发以下异常:

[HTMLElement类型的参数| null'不可分配给参数类型为'FromEventTarget'。类型“ null”不可分配给输入“ FromEventTarget”。 TS2345

fromEvent()

我尝试根据文档将定义更改为节点列表:

DOM节点列表,例如由document.querySelectorAll返回或Node.childNodes。

尽管此集合本身不是事件目标,但fromEvent将遍历它包含的所有节点并安装事件处理程序功能在每个人中。返回Observable退订后,函数将从所有节点中删除。

import React from 'react';
import * as rx from 'rxjs';

const RXComponent: React.FC = () => {

    rx.fromEvent(document.getElementById('dblbutton'), 'click')

    return (
        <form>
            <input type='button' id='dblbutton' value='Click me!'>
            </input>
        </form>
    )
}

export default RXComponent;

[从技术上讲,它可以正常工作并阻止编译器发出抱怨,但是,如果我在localhost上打开实际的网站,则会得到一堆引用该库的错误。

enter image description here

知道我在做什么错吗?

我在打字稿旁使用'rxjs'库。问题是,我不知道如何从rxjs传递一个简单的按钮到fromEvent()。 ...

reactjs typescript compiler-errors rxjs
1个回答
0
投票

您可能使用const btn = document.querySelectorAll('#dblbutton') const obs = rx.fromEvent(btn, 'click') obs.subscribe(x => console.log(x)) 回调模式执行了类似的操作,该回调模式将为您传递实际的元素引用,看看是否对您有用:

© www.soinside.com 2019 - 2024. All rights reserved.