reactjs - 使用 DrawerNavigator 时 this.props.navigation.goback() 无法正常工作
问题描述
这个应用程序首先进入 A 的屏幕,然后是 B、C 和 D。然后在 D 中时,我应该按一个 Touchable Opacity 以重定向到 C,但它转到了 A。
--App.js-----------------------------------------
const AppDrawerNavigator = createDrawerNavigator({
A: {screen: A},
B: {screen: B},
C: {screen: C},
D: {screen: D},
...
const App = createAppContainer(AppDrawerNavigator);
export default App;
--D.js------------------------------------------
<View>
<TouchableOpacity onPress={() => this.props.navigation.goBack()}>
<Image source={require('../images/icons/goBackIcon.png')}/>
</TouchableOpacity>
</View>
然后,例如,当我尝试在屏幕 D 中使用this.props.navigation.goBack()时,它会转到 A 屏幕(列表中的第一个)。预计会进入C屏。
我搜索了解决方案,发现将 StackNavigator 与 DrawerNavigator 结合起来会是一个好主意,但我实际上不知道如何正确地做到这一点。
谢谢!
解决方案
你有没有尝试过这样的事情:
const AppDrawerNavigator = createDrawerNavigator({
A: createStackNavigator({
B: {screen: B},
C: {screen: C},
D: {screen: D},
}),
...
goBack() 方法将在堆栈中随心所欲地工作
推荐阅读
- sql - BigQuery SQL 语法错误:应为“(”或“,”或关键字 SELECT,但在 [9:2] 处结束脚本
- java - 我使用 TreeSet 的解决方案的时间复杂度是多少?
- r - R - 如何使用外部
- flutter - 如何在 Flutter 中绑定 bing 地图?
- reactjs - 使用增量装饰时,反应中的摩纳哥编辑器停止突出显示
- accelerometer - 从三星智能手表 (Tizen) 获取加速度数据
- c++ - 通过 sendto 发送 UDP 数据包
- pyinstaller - FileNotFoundError:[Errno 2] 没有这样的文件或目录:'.../thinc/backends/_custom_kernels.cu'
- typescript - 如何让用户从我的 NPM 包的子文件夹中导入
- python - 使用 Python 编写的 lambda 函数在 DynamoDB 中创建表需要哪些权限?