我一直在阅读大量关于函数式编程的优点,并且正在尝试编写一些符合可能被视为函数式编程的代码。不变性、纯函数、局部状态等。
我遇到的特定问题如下所示。我不确定是否有某种方法可以在不违反这些规则的情况下做我想做的事。我想我是来了解这一点的。
let mouseDown = false;
document.addEventListener('mousedown', () => mouseDown = true);
document.addEventListener('mouseup', () => mouseDown = false);
document.addEventListener('mousemove', e => {
if (mouseDown) console.log({ x: e.movementX, y: e.movementY });
});Run Code Online (Sandbox Code Playgroud)
在使用 OOP 超过 10 年之后,我发现很难掌握 FP。然而,这不是重点。
所以,我的问题是: