[React Native]: не удается найти переменную: DeviceEventEmitter - PullRequest
0 голосов
/ 27 января 2019

Я пытаюсь использовать прослушиватель событий, чтобы указать, когда открывать / закрывать представление (т. Е. Закрывать при навигации), но я не могу ссылаться на переменную 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
    })
}
...