我正在尝试使用 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) 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)