如果我需要知道当前是否正在按下像 shift 键这样的键,我怎样才能找到该信息?此解决方案应将此信息分配给可以像这样调用的单个变量:
if(shiftHeld){
//Do the thing.
}
此解决方案将使用带有钩子和事件侦听器的 React Native。您可以使用事件侦听器来检测按键被按下(或未按下)的任何时间,然后过滤要用作条件的键的结果。这是解决方案:
const [shiftHeld, setShiftHeld] = useState(false);
function downHandler({key}) {
if (key === 'Shift') {
setShiftHeld(true);
}
}
function upHandler({key}) {
if (key === 'Shift') {
setShiftHeld(false);
}
}
useEffect(() => {
window.addEventListener('keydown', downHandler);
window.addEventListener('keyup', upHandler);
return () => {
window.removeEventListener('keydown', downHandler);
window.removeEventListener('keyup', upHandler);
};
}, []);
这将根据是否按住 shift 键将状态更改为 true 或 false。然后您可以将该值插入到您需要的任何位置。提示:您可以使用此格式来侦听任何其他键。我很难找到有关密钥名称的文档。如果你有困难就找到了关键的名称,执行那么这段代码控制台登录key
就在之前if
的声明downHandler
。
另外,请确保将侦听器保留在 中useEffect
,否则会导致数据泄漏。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句