react-native - React Native Navigation:在嵌套在堆栈导航器中的选项卡导航器中组织组件引用的最佳方式?
问题描述
在我的 React Native 应用程序中,我有一个称为堆栈导航器的堆栈导航器StackNavigator
,其中包含两个选项卡导航器TabNavigator1
和TabNavigator2
. TabNavigator1
包含屏幕TabNavigator1_Screen1
和TabNavigator1_Screen2
,并且TabNavigator1
包含TabNavigator2_Screen1
, 和TabNavigator2_Screen2
。从所有这四个屏幕中,用户需要能够导航到各种其他屏幕、Screen1
、Screen2
和Screen3
。
我在用着react-navigation@4.x
我想知道的:
引用 、 和 的最佳位置Screen1
在Screen2
哪里Screen3
?我知道我可以添加它们的唯一地方是在定义StackNavigator
. 所以我会做
createStackNavigator(
{
TabNavigator1,
TabNavigator2,
TabNavigator1_Screen1,
TabNavigator1_Screen2,
TabNavigator2_Screen1,
TabNavigator2_Screen2,
Screen1,
Screen2,
Screen3,
Screen4,
}
)
然后进入TabNavigator1
并将TabNavigator1
他们的导航道具传递给屏幕
screenProps={{
navigation: this.props.navigation
}}
这样就TabNavigator1_Screen1
可以导航到Screen1
with this.props.screenProps.navigation.navigate('Screen1')
。
有没有一种方法可以组织所有这些屏幕引用,以便我定义屏幕可以导航到的特定屏幕,TabNavigator1
以及屏幕可以导航到的其他屏幕TabNavigator1
?
解决方案
推荐阅读
- postgresql - java.sql.SQLException:无法加载 JDBC 驱动程序类“org.postgresql.Driver”
- python - 从 django 上的网站下载文件
- android - Jetpack Compose 中带有分页库的粘性标头
- python - discord.py 在使用多处理时抛出错误
- flutter - 如何让 Flutter 中的一列中的两个文本相互接触?
- c++ - 无法从 constexpr 函数的返回值初始化 constexpr 值
- javascript - 在 JS 中获取 JSON 节点长度的正确方法?
- reactjs - 根据视图计算反应原生内联条件
- c# - 带有 AutoMoq 的 AutoFixture 在自定义后始终返回相同的实例
- bash - 从源文件夹读取的文件未被识别为文件或目录