小编axt*_*tck的帖子

窗口上的 TypeScript mousemove 事件

我正在尝试使用 React 和 TypeScript 在控制台中mousemove记录事件。window经过一些研究并查看类似的问题后,我认为我可以用作MouseEvent传递给侦听器的事件的类型。

useEffect(() => {
  const onMouseMove = (e: MouseEvent) => {
    e.preventDefault();
    console.log(e);
  };

  window.addEventListener("mousemove", onMouseMove);

  return () => {
    window.removeEventListener("mousemove", onMouseMove);
  };
}, []);
Run Code Online (Sandbox Code Playgroud)

但运行时提示我以下错误:

const onMouseMove: (e: MouseEvent) => void
No overload matches this call.
  Overload 1 of 2, '(type: "mousemove", listener: (this: Window, ev: MouseEvent) => any, options?: boolean | AddEventListenerOptions | undefined): void', gave the following error.
    Argument of type '(e: MouseEvent) => void' …
Run Code Online (Sandbox Code Playgroud)

events mouseevent typescript reactjs

8
推荐指数
1
解决办法
8793
查看次数

查找数组的上边界和下边界

numeric我正在尝试获取数组中值的上限和下限。

const boundaries = [15, 30, 45, 60, 75, 90];
const age = 22;
Run Code Online (Sandbox Code Playgroud)

对于上面的例子,结果应该是:

[15, 30]
Run Code Online (Sandbox Code Playgroud)

例如,如果该值是边界,它将成为lower结果数组中的值。如果它是最大边界或以上,它应该成为最大值。

结果示例:

15 => [15, 30]
22 => [15, 30]
30 => [30, 45]
90 => [90]
Run Code Online (Sandbox Code Playgroud)

我尝试mapping通过数组,如果age更高=> return boundary。然后filter超出边界并计算索引,但这感觉不是完成此任务的正确方法。

const boundaries = [15, 30, 45, 60, 75, 90];
const age = 22;

// get all lower values
const allLower = boundaries.map((b) => age > b ? b : null).filter(x => x);
const …
Run Code Online (Sandbox Code Playgroud)

javascript arrays

4
推荐指数
1
解决办法
1771
查看次数

标签 统计

arrays ×1

events ×1

javascript ×1

mouseevent ×1

reactjs ×1

typescript ×1