내비게이션 React Navigation과 React Native에 문제가 있습니다. 탐색을 재설정하고 홈 화면으로 돌아가는 것입니다.홈 화면에 대한 탐색 스택 재설정 (React Navigation and React Native)
DrawerNavigator 내부에 StackNavigator를 빌드하고 홈 화면과 다른 화면 간의 탐색이 작동합니다. 그러나 문제는 네비게이션 스택이 성장하고 성장한다는 것입니다. 스택에서 화면을 제거하는 방법을 모르겠습니다.
예를 들어 홈 화면에서 설정 화면으로 이동 한 다음 항목 화면으로 이동하고 마지막으로 다시 홈 화면으로 이동하면 홈 화면이 스택에서 두 번 표시됩니다. 뒤로 버튼을 사용하면 앱에서 빠져 나오지 않지만 다시 입력 화면으로 이동합니다.
홈 버튼을 다시 선택하면 스택을 재설정해도 좋지만이 방법은 잘 모릅니다. Here 누군가가 비슷한 문제를 가진 다른 사람을 도우려고했지만 해결책이 나에게 도움이되지 못했습니다.
const Stack = StackNavigator({
Home: {
screen: Home
},
Entry: {
screen: Entry
},
Settings: {
screen: Settings
}
})
export const Drawer = DrawerNavigator({
Home: {
screen: Stack
}},
{
contentComponent: HamburgerMenu
}
)
는 그리고 이것은 내가 당신이 날 도울 수 있기를 바랍니다 서랍 화면
export default class HamburgerMenu extends Component {
render() {
return <ScrollView>
<Icon.Button
name={'home'}
borderRadius={0}
size={25}
onPress={() => { this.props.navigation.navigate('Home')}}>
<Text>{I18n.t('home')}</Text>
</Icon.Button>
<Icon.Button
name={'settings'}
borderRadius={0}
size={25}
onPress={() => { this.props.navigation.navigate('Settings')}}>
<Text>{I18n.t('settings')}</Text>
</Icon.Button>
<Icon.Button
name={'entry'}
borderRadius={0}
size={25}
onPress={() => { this.props.navigation.navigate('Entry')}}>
<Text>{I18n.t('entry')}</Text>
</Icon.Button>
</ScrollView>
}
}
의 간단한 예입니다. 이것은 내비게이션의 필수 부분이며 솔루션은 훌륭합니다!
대부분의 QA가 fyi를 거부하는 불쾌한 애니메이션을 만듭니다. –
이 경우 Navigation Params를 보내는 방법은 무엇입니까? – Ashish
불쾌한 애니메이션을 피하기 위해 [this answer] (https://stackoverflow.com/a/44332846/978369)에 따라 모든 전환에 대한 애니메이션을 완전히 비활성화해야했습니다. – Kes115