Что ж, вы можете подумать о том, чтобы полагаться на события навигации, предоставляемые React Navigation (при условии, что вы используете это).
Так что при повторном посещении экрана 2 вы можете сделать серверный вызов включенным didFocus
событие жизненного цикла навигации на экране 2.
//in ComponentDidMount you should set a listener to the navigation events
const didBlurSubscription = this.props.navigation.addListener(
'didFocus',
payload => {
// Do your API Call here.
}
);
// Remove the listener when you are done in componentWillUnMount.
didBlurSubscription.remove();
Однако у меня есть здесь сомнения, вернувшись к тому, что именно вы имеете в виду?Собираетесь ли вы на какой-нибудь другой экран, скажем, Screen 3, и возвращаетесь, используя goBack
?Если это сценарий, который я подозреваю, когда вы говорите, что Screen2 находится в стеке, то приведенное выше решение может вам помочь.
Надеюсь, это поможет.Удачного кодирования:)