如何使 ReactJS 按钮看起来像按下 keyPress?
How do I make ReactJS button look like pressed on keyPress?
我用 ReactJS 创建了一个 Drum Machine,但我找不到让按钮在按下相应键时看起来像被点击的方法。我在网站上发现了以下问题,但我无法让 refs 使用我的代码,我也不知道为什么:
我还读到现在不建议反对字符串引用,所以我真的不知道如何处理这个问题。
这是我应用程序的 link:https://codesandbox.io/s/github/AldanaBRZ/drum-machine
虽然不鼓励使用字符串引用。您仍然可以使用 React.createRef
来使用 refs
参考:https://reactjs.org/docs/refs-and-the-dom.html
你甚至不必使用 refs,你可以给它们所有唯一的 ID,因为它们无论如何都是唯一的,然后每当按下一个键时,你可以检查做一个 if q is pressed, add pressed class to the q button
在 JS 中的 HTML 元素上添加和删除 类 可以通过以下方式实现:
您可以使用 element.classList.add("pressed")
来实现。和 element.classList.remove("pressed")
参考:https://developer.mozilla.org/en-US/docs/Web/API/Element/classList
您可以使用样式将按钮显示为 pressed/unpressed,并从状态管理 pressed/unpressed 事件。
请参考下面的link。新拟态是 UI 几个月的趋势。
我用 ReactJS 创建了一个 Drum Machine,但我找不到让按钮在按下相应键时看起来像被点击的方法。我在网站上发现了以下问题,但我无法让 refs 使用我的代码,我也不知道为什么:
我还读到现在不建议反对字符串引用,所以我真的不知道如何处理这个问题。
这是我应用程序的 link:https://codesandbox.io/s/github/AldanaBRZ/drum-machine
虽然不鼓励使用字符串引用。您仍然可以使用 React.createRef
参考:https://reactjs.org/docs/refs-and-the-dom.html
你甚至不必使用 refs,你可以给它们所有唯一的 ID,因为它们无论如何都是唯一的,然后每当按下一个键时,你可以检查做一个 if q is pressed, add pressed class to the q button
在 JS 中的 HTML 元素上添加和删除 类 可以通过以下方式实现:
您可以使用 element.classList.add("pressed")
来实现。和 element.classList.remove("pressed")
参考:https://developer.mozilla.org/en-US/docs/Web/API/Element/classList
您可以使用样式将按钮显示为 pressed/unpressed,并从状态管理 pressed/unpressed 事件。 请参考下面的link。新拟态是 UI 几个月的趋势。