[英]How can i make breadcrumbs/show screens path in react native (I am using react navigation v5)
[英]How can I set the initial state using react-navigation v5 to include screens as history?
假設我有以下路線結構:
Authenticated
- Main
- StackA
-ViewA
- StackB
-ViewB
- StackC
- ViewC
- ViewD
我想設置我的初始狀態,以便我查看 ViewD,但我可以從左側滑動以返回 ViewC。
此處的文檔https://reactnavigation.org/docs/navigation-state/#partial-state-objects說我應該能夠提供一組對象,每個對象都有一個映射到路由名稱的name
屬性,以初始狀態的routes
屬性,它將為我整理其余部分。 但是,當我這樣做時,沒有任何變化,並且呈現通常的初始狀態。
根據上面鏈接的文檔,這是我希望工作的初始狀態:
{
routes: [
{ name: "Authenticated" },
{ name: "Main" },
{ name: "StackC" },
{ name: "ViewC" },
{ name: "ViewD" }
]
}
編輯
我通過使用以下初始狀態設法解決了這個問題:
{
routes: [
{
name: "Authenticated",
params: {
screen: "StackC",
params: {
screen: "ViewD",
initial: false,
}
}
}
]
}
其中的關鍵部分是initial
屬性。 這導致StackC
的初始路由在StackC
下ViewD
,這正是我想要的。
這是我在零食上創建的一個快速示例。 基本上,您需要創建一個屏幕數組,並使用重置功能。
const initialState = {
index: 4,
routes: [
{
name: 'Stack',
params: { screen: 'StackView1' },
},
{
name: 'Stack',
params: { screen: 'StackView2' },
},
{
name: 'Stack1',
params: { screen: 'Stack1View1' },
},
{
name: 'Stack1',
params: { screen: 'Stack1View2' },
},
{
name: 'Stack1',
params: { screen: 'Stack1View3' },
},
],
};
return (
<NavigationContainer initialState={initialState}>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.