Я немного читал, и мне кажется, что причина, по которой ComponentDidMount не активируется, заключается в том, что он уже находится в навигаторе стека. Для этого мы должны использовать addListener с didFocus.
Предположим, у меня есть 3 экрана A, B, C. Я не понимаю, почему, когда мое приложение загружается на экран B, componentDidMount работает неявно (мне не нужен didFocus) на экране B из C -> B, но не работает из A-> B
ComponentDidMount()
{
//ComponentDidMount Located in Screen B
execute code1. //works from C->B, Does not work from A->B
this.props.navigation.addListener('didFocus'{
execute code2. //Works for both
})
}
Навигатор стека выглядит так
createStackNavigator({
FriendsArea: {
screen:B,
navigationOptions:{
header:null
}
},
HostArea: {
screen:C,
navigigationOptions:{
header:null
}
},
Profile: {
screen:A,
navigationOptions:{
header:null
}
},
})
Может кто-нибудь помочь? Я могу уточнить, если нужно, спасибо.