키보드 단축키는 웹 응용 프로그램에서 관리하기가 약간 까다 롭습니다.반응에서 키보드 단축키를 관리하는 방법
은 Widget
구성 요소를 고려하십시오.
키보드 쇼트를 기반으로 특정 구성 요소에 집중하고이 구성 요소에서 기능을 실행할 수 있기를 원합니다.
class Widget extends React.Component {
componentDidMount() {
this.setBindings()
},
componentWillUnmount() {
this.removeBindings();
}
}
setBindings 및 removeBindings는 특정 키보드 단축키
을 결합하는 mousetrap 같은 라이브러리를 사용하는 것이 이제, 위의 솔루션으로 두 가지 문제가있다:
- 그것은 바로 가기 동작을 예측할 수 한다을
- 두 개의 위젯이 탑재 된 경우를 고려해보십시오. 다른 위젯을 덮어 쓰는 경우를 고려하십시오.
- 위젯이 바로 가기와 밀접하게 결합됩니다. 누군가 바로 가기를 사용하지 않으려는 경우
Widget
에 일종의 플래그가 있어야합니다. 이 파괴는 코드의 '단위'이다 - 이상적으로 사용자가이
또 다른 잠재적 인 솔루션처럼 위젯, 다음 WidgetWithShortcuts, 또는 무언가를 사용할 수 있어야, 인스턴스
const widgetShortcuts = (widgetInstance) => {
return {
'ctrl i':() => widgetInstance.focusInput(),
}
}
에게 전달하는 것입니다 두 번째 솔루션의 문제점은 다음과 같습니다
widgetInstance이 focusSomeThing, 또는 invokeProp 같은 공개적으로 액세스 할 수있는 방법을 많이 노출해야 할 것 등
Widget
에 특정 툴팁이 표시되는 경우 키보드 쇼트 컷에 대한 정보가 다른 위치에 복제됩니다. 그것은 한 곳에서 바로 가기를 변경하고 다른 장소
가장 좋은 방법이 있는가, 또는 위의 문제에 대한 솔루션을 구현할 수있는 방법을 키보드 단축키에 대한 몇 가지 아이디어를 그렇게하는 것을 잊지 할 수있게 할 것인가?
좋은 아이디어! 감사합니다 azium :) –