나는 항상 머물러야하는 앱이 있습니다. 5 시간 동안 사용하지 않으면 ipad가 종료되거나 잠자기되는 것을 막으려면 매 4 시간마다 홈 화면을 다시로드해야합니다. 그러나 사용자가 키보드를 사용하는 경우 새로 고치기를 원하지 않습니다. 응용 프로그램을 상쾌하게 가지고 있지만 keyboardDidShow 수신기에서 타이머를 멈출 수 없습니다. 나는 다른 방법의 무리를 시도했지만 keyboardDidShow에 타이머를 클리어 할 수없는 생각했다clearTimeout not working Natve
componentDidMount(){
this.keyboardDidShowListener =
Keyboard.addListener('keyboardDidShow', this._keyboardDidShow);
this.keyboardDidHideListener =
Keyboard.addListener('keyboardDidHide', this._keyboardDidHide);
this.timeoutHandle = setTimeout(()=>{
this.props.navigation.navigate('Home');
},30000);
}
_keyboardDidShow() {
console.log("Keyboard Shown")
if (this.timeoutHandle) {
clearTimeout(this.timeoutHandle);
this.timeoutHandle = 0;
}
};
componentWillUnmount(){
this.keyboardDidShowListener.remove();
this.keyboardDidHideListener.remove();
clearTimeout(this.timeoutHandle);
}
_keyboardDidHide() {
console.log('Keyboard Hidden');
}
: 여기 내 코드입니다. 가능한 경우 도와주세요.
당신은 지방 화살표 기능을 이벤트 리스너에'this'를 결합하거나 사용할 필요가있다. – zvona