Я создаю простое приложение для знакомых с реагирующим родным AppState:
import React, {Component} from 'react'
import {AppState, Text , View} from 'react-native'
export default class AppStateExample extends React.Component {
constructor(props){
super(props);
this.state = {
name:'not change'
}
}
componentDidMount() {
AppState.addEventListener('change', this._handleAppStateChange);
}
componentWillUnmount() {
AppState.removeEventListener('change', this._handleAppStateChange);
}
_handleAppStateChange = (nextAppState) => {
if(AppState.currentState=='background'){
console.log('background mode');
this.setState({name:'back'});
}
if(AppState.currentState =='active'){
//...
}
};
render() {
return (
<View>
<Text>State Name : {this.state.name}</Text>
</View>
);
}
}
, и когда я пытаюсь переключить приложение с переднего плана на фон, а затем с фона на передний план console.log('background mode');
очень хорошо работают и консольную печать 'background mode'
но
this.setState({name:'back'});
не работает, и я вижу 'not change'
текст в поле зрения