有一點讓人困惑的是路由名稱和密鑰之間的區別,以及爲什麼你會使用一個和另一個。並且,如何處理重複的路由名稱。在react-navigation中,routeName和key有什麼區別?
https://reactnavigation.org/docs/navigators/navigation-prop
這是說你用routeName
導航到的畫面,那是key
「用於路線排序的唯一標識。」那是什麼意思?
看起來好像路由名不必如我的示例中所示的那樣是唯一的,因爲外部標籤和內部堆棧都具有相同的路由名稱。當您使用導航功能時 - 您傳遞路線名稱,對嗎?如果是這樣,它如何區分嵌套導航器中的重複路由名稱和何時使用該鍵?
export TabsNavigator = TabNavigator({
Home: {
screen:StackNavigator({
Home: { screen: HomeScreen },
}),
},
Profile: {
screen: StackNavigator({
Profile: { ProfileScreen },
}),
},
});
的文檔具有設置鍵的例子,但我不明白的是什麼它試圖做什麼,或者爲什麼你會做一個真正的用例的上下文。 https://reactnavigation.org/docs/navigators/navigation-prop
import { NavigationActions } from 'react-navigation'
const setParamsAction = NavigationActions.setParams({
params: {}, // these are the new params that will be merged into the existing route params
// The key of the route that should get the new params
key: 'screen-123',
})
this.props.navigation.dispatch(setParamsAction)
如果我不使用NavigationActions,我在哪裏指定一個鍵?它是否在StackNavigator路由定義中? – vijayst
何處配置唯一密鑰?它是每個屏幕還是每個導航器?文檔在按鍵上相當糟糕... – CoredusK