Цель состоит в том, чтобы повторно использовать один и тот же пользовательский интерфейс экрана с другим содержимым и при этом иметь возможность обрабатывать обратную навигацию (например, как приложение reddit может отображать несколько экранов пользователей / каналов при нажатии на них, но по-прежнему обрабатывать пользовательскую обратную навигацию), используя реагировать на роднуюnavigation v2?
пытается использовать динамические идентификаторы экрана и использовать их в переменных состояния. Я не слишком далеко продвинулся в этом подходе.
Встроенная кнопка возврата обрабатывает навигацию назад, но рассмотрим сценарий следующим образом:
Я работаю над формой и открываю другую форму, работаюна нем, сохранить его и придется вернуться к существующей форме. пользовательские обработчики не допускают этого.
КОД:
Домашний экран:
Navigation.push(this.props.componentId, {
component: {
name: 'example.formScreen',
passProps: {
data: some props
},
options: {
topBar: {
title: {
text: 'form Screen'
}
}
}
}
});
на экране формы:
<View>
<Button
title="save form"
onpress = ()=>{
Navigation.push(this.props.componentId, {
component: {
name: 'example.formScreen',
passProps: {
data: some other props
},
options: {
topBar: {
title: {
text: 'form Screen'
}
}
}
}
});
}/>
<Button
title="go back"
onPress={()=>Navigation.pop(this.props.componentID)}
/>
</View>