reactjs 使用堆叠导航时,无法在Expo路由器中拾取initialRouteName

yks3o0rb  于 5个月前  发布在  React
关注(0)|答案(3)|浏览(59)

我克隆了示例Expo Navigation示例项目:https://github.com/expo/expo/tree/main/templates/expo-template-tabs
官方文档:https://docs.expo.dev/routing/introduction/
并添加了另一个带有屏幕的文件夹:



然而,我的结构中的(初始)屏幕总是首先显示在应用程序中,无论initialRouteName的值是什么。我尝试将其设置为(main),但仍然看到(初始)。看到(main)的唯一方法是删除整个(初始)文件夹。
有没有想过为什么会这样或者我能做些什么?

a2mppw5e

a2mppw5e1#

你应该使用index这个词来代替:

export const unstable_settings = {
  initialRouteName: 'index',
};

字符串
如果你看一下the docs page,你会看到:
您可以在unstable_settings对象中指定一个组的名称,以定位特定的段。
你的改变可能是这样的:

export const unstable_settings = {
  // Used for `(foo)`
  initialRouteName: 'first',
  // Used for `(bar)`
  bar: {
    initialRouteName: 'second',
  },
};

q8l4jmvw

q8l4jmvw2#

@AmerillicA解决方案是只有一个索引文件,在您的情况下,将索引重命名为初始文件夹中的另一个东西。

lnxxn5zx

lnxxn5zx3#

一位expo工程经理说这是不可能的。但是你可以手动处理重定向。我在自己的项目中遇到的一个问题是堆栈替换动画不会像我想要的那样表现,所以我在你的例子中做了相当于下面的事情:
在app/layout.tsx中:

export const unstable_settings = {
  initialRouteName: '(main)',
};

字符串
关于人们遇到的问题的更多信息/埃文培根评论:https://github.com/expo/router/issues/428

相关问题