我有一个主屏幕,包括大约20个不同的可按图标(新闻,照片,爱好.)每个项目都指向不同的屏幕。
<Stack.Navigator>
<Stack.Screen name="Home" component={screen1}/>
<Stack.Screen name="News" component={screen2}/>
<Stack.Screen name="hobbies" component={screen3}/>
.
.
20 more
</Stack.Navigator>在未来,我可能会添加更多的项目,导致一个不同的屏幕。我可以在家里添加尽可能多的导航,以导航到所有屏幕。但是,在我的app.js文件中创建这些屏幕是一种良好的实践吗?另一个问题是,我可能在一些屏幕上有嵌套屏幕。例如:爱好屏幕包含编辑,添加,删除等点击添加我重定向到一个新的表单屏幕,有多个字段。最新消息也是如此。我可能有这样的屏幕
A
B
a
b
c
C
D
a
b
c
d
E
.
.
.最后,我创建了这样的多个屏幕
<Stack.Navigator>
<Stack.Screen name="Home" component={screen1}/>
<Stack.Screen name="News" component={screen2}/>
<Stack.Screen name="hobbies" component={screen3}/>
<Stack.Screen name="hobbiesedit" component={screen4}/>
<Stack.Screen name="hobbiesupdate" component={screen5}/>
<Stack.Screen name="hobbiesdelete" component={screen6}/>
.
.
more
</Stack.Navigator>我不认为这是更好的方法遵循(记住,我可能会增加更多的屏幕)。是否还有其他最佳方法来实现这一目标?
发布于 2022-07-18 05:44:02
关于app.js中有这么多屏幕,我建议在导航文件夹中创建多个不同的导航文件,其中一个文件包含所有屏幕、堆栈和导航器,另一个文件包含第一个文件的容器,如下所示:
<NavigationContainer>
<FirstNavigationFile />
</NavigationContainer>最后,在您的app.js中,您可以导入它并使其成为您的主要呈现。至于你问题的第二部分,我不会那样做,我会为每一组做堆栈,例如(图片,添加图片,修改图片)是在主堆栈内的一个堆栈。
我希望我说的很清楚我帮了你。
https://stackoverflow.com/questions/73017225
复制相似问题