React Native - Использование lockstate для отслеживания событий блокировки / разблокировки - PullRequest
0 голосов
/ 15 мая 2018

Я хочу отслеживать блокировку и разблокировку событий в React Native, чтобы иметь возможность измерять время, проведенное на экране, и количество раз, когда люди разблокировали свои телефоны. Я пытаюсь использовать lockstate (https://www.npmjs.com/package/react-native-lockstate), но я довольно новичок в RN, и я не совсем уверен, следует ли это также подключать к AppState или лучший способ справиться с этим.

Мой код компонента следующий:

export default class LockStateCheck extends Component {

  state = {
    lockState: RNLockState.currentState
  }

  _handleAppStateChange = (thisLockState) => {
    if (this.state.appState.match(/inactive|background/) && thisLockState === 'active') {
      console.log('App has come to the foreground!')
    };
    this.setState({lockState: thisLockState});
  }

  handleLockStateChange = (thisLockState) => {
    if (this.state.lockState(.match(/lockcomplete/)) && thisLockState === 'unlocked')
  }

  componentDidMount() {
    RNLockState.addEventListener('change', this.handleLockStateChange);
  }

  componentWillUnmount() {
    RNLockState.removeEventListener('change', this.handleLockStateChange);
  }

  render() {
    return (
        <Text></Text>
    );
  }
}
...