首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用状态进行本机导航

使用状态进行本机导航
EN

Stack Overflow用户
提问于 2022-06-26 21:02:07
回答 1查看 48关注 0票数 0

我是相当新的反应本地人,我正在构建一个应用程序,将使用导航。我有一个导航屏幕的解决方案,它似乎工作得很好,但是我没有看到很多人使用这种方法。我在导航组件中使用状态来呈现特定的屏幕(或组件)。

我看到的主要解决方案(文档化的解决方案)是使用这个包。

代码语言:javascript
复制
@react-navigation/native @react-navigation/native-stack

我目前的解决方案如下所示:

代码语言:javascript
复制
const [screen, setScreen] = useState(0)

const returnScreen = () => {
    switch (screen) {
        case 0:
           return <AccountScreen/>
    }
}

单击菜单图标时,它会将状态更改为1,并呈现不同的屏幕。

有人能帮助我理解为什么这是一种糟糕的方法还是一种不寻常的方法(如果是的话)?我的应用程序将只有5-7屏幕,我主要是想了解为什么图书馆是社区的方式,如果我错过了什么。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-26 21:39:02

如果您希望导航到其他屏幕的能力存在于菜单/抽屉之外,则必须支持钻取setScreen函数或创建上下文以使其他组件能够访问它。虽然这并不难做到,但这是所有@react-navigation导航器都不需要额外代码的事情。

如果您希望启用到前一个屏幕,那么当前的导航代码就会过时。仅仅返回屏幕是不够的,因为您需要跟踪和修改导航历史记录。因此,您需要编写更多必须测试和调试的代码(请记住,@react-navigation/stack已经这样做了)。

如果您确信您的应用程序将保持小,并且您的导航功能不会增加太多,那么您的方法是完全好的。但是,如果应用程序的大小会增加,那么您可能会发现自己实现、测试和调试了已经由@react-navigation社区实现、测试和调试的特性。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72765115

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档