У меня есть следующий код:reactJs Предупреждение: SetState (...): Можно только обновить установленный или монтажный компонент
class MainScreen extends Component {
constructor(props) {
super(props);
this.state = {
selectedTab: 'news'
};
}
componentWillMount() {
this.props.dispatch({
type:'isLoggedIn',
isLoggedIn: false
})
}
shouldComponentUpdate() {
console.log('shouldComponentUpdate: --------')
return false;
}
navigateToAuthScreen() {
this.props.navigator.immediatelyResetRouteStack([
rootRoutes.authScreen
]);
}
componentWillReceiveProps(nextProps) {
console.log('componentWillReceiveProps: ----');
if (!nextProps.isLoggedIn) this.navigateToAuthScreen();
}
render() {
console.log('rending: ----------------------');
return (
<View style={styles.container}>
<TabBarIOS tintColor={theme.accentColor} translucent>
<Icon.TabBarItem
iconName="newspaper-o"
title="News"
selected={this.state.selectedTab === 'news'}>
<SceneStack
initialRoute={newsRoutes.newsListing}
/>
</Icon.TabBarItem>
</TabBarIOS>
</View>
);
}
}
обновление:
я узнал, что эта ошибка есть что-то делать с TabBarIOS и Icon.TabBarItem как-то.
Я удалил onPress={() => this.switchTabsOrPopStack('news')}
вообще и ошибка все еще произошла.
Я получаю эту ошибку:
Предупреждение: SetState (...): Можно только обновить установленную или монтажный компонент. Обычно это означает, что вы вызывали setState() на немонтированном компоненте. Это не-op. Проверьте код для компонента TabBarItem.
Я не уверен, что мне не хватает.
Я застрял в той же ситуации из-за навигатора, вы можете уточнить, как это исправить. –