Я пытаюсь использовать прослушиватель событий, чтобы указать, когда открывать / закрывать представление (т. Е. Закрывать при навигации), но я не могу ссылаться на переменную DeviceEventEmitter.Кажется, что это нормально для componentWillMount, но затем происходит сбой, когда происходит фактическая навигация (для componentWillUnmount)
Я видел некоторые ссылки на RTCDeviceEventEmitter и просто EventListener, но я не смог найти конкретныйрешение.
import { Text, View, TouchableOpacity, DeviceEventEmitter } from 'react-native';
constructor(props) {
super(props);
this.state = {
currentRequest: "",
displayRequest: false
}
}
componentWillMount() {
DeviceEventEmitter.addListener(
NavigationService.NavigationEvents.Will,
this.hideRequestLog
);
console.log('mounted');
}
componentWillUnmount() {
DeviceEventEmitter.removeListener(
NavigationService.NavigationEvents.Will,
this.hideRequestLog
);
console.log('unmounted');
}
hideRequestLog() {
this.setState({
displayRequest: false
})
}