Обработка изменения ориентации, ошибка не может вызвать setState для неустановленного компонента, ... утечка памяти - PullRequest
0 голосов
/ 04 декабря 2018

в AndroidManifest.xml Я удалил клавиши «direction | screenSize»:

android:configChanges="keyboard|keyboardHidden"

При изменении ориентации в коде «setState» появляется предупреждение об изменении ориентации в эмуляторе Android:

class HomeScreen extends React.Component {

constructor(props) {
    super(props)

    this.state = {
        orientation: width < height ? 'portrait' : 'landscape',
        screenHeight:height,
        screenwidth:width,
    }

    Dimensions.addEventListener('change', newDimensions => {
        newScreenWidth = newDimensions.window.width;
        newScreenHeight = newDimensions.window.height;

        this.setState((newScreenWidth,newScreenHeight) => ({
            orientation: newScreenWidth < newScreenHeight ? 'portrait' : 'landscape',
            screenHeight:newScreenHeight,
            screenWidth:newScreenWidth
        }));
    });

}

componentWillUnMount() {
    Dimensions.removeEventListener('change', () => {});
}

Что я могу сделать, чтобы решить эту проблему? ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...