Jedną z rzeczy, która jest trochę zagmatwana, jest różnica między nazwą trasy a kluczem i dlaczego używałbyś jednego z drugim. I w jaki sposób obsługiwane są zduplikowane nazwy tras.W nawigacji reagowania jaka jest różnica między nazwą trasy a kluczem?
https://reactnavigation.org/docs/navigators/navigation-prop
Ten mówi, że używasz routeName
, aby przejść do ekranu, a key
jest „unikalny identyfikator używany do sortowania trasy.” Co to znaczy?
Wygląda na to, że nazwa trasy nie musi być unikalna, jak pokazano w moim przykładzie, ponieważ zarówno zewnętrzna zakładka, jak i wewnętrzny stos mają tę samą nazwę trasy. Gdy używasz funkcji nawigacji - przekazujesz nazwę trasy, czy zgadzasz się? Jeśli tak, to w jaki sposób rozróżnia się zduplikowane nazwy tras w zagnieżdżonych nawigatorach i kiedy należy użyć klucza?
export TabsNavigator = TabNavigator({
Home: {
screen:StackNavigator({
Home: { screen: HomeScreen },
}),
},
Profile: {
screen: StackNavigator({
Profile: { ProfileScreen },
}),
},
});
Dokumentacja zawiera przykładowe ustawienie klucza, ale nie mogę zrozumieć kontekst tego, co próbuje zrobić, albo dlaczego miałby to zrobić w przypadku rzeczywistego użytkowania. 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)
gdzie mogę podać klucz, jeśli nie używam NavigationActions? Czy jest to definicja trasy StackNavigator? – vijayst
Gdzie skonfigurować unikalny klucz? Czy jest to na ekran lub na nawigatora? Dokumenty są dość złe na klawiszach ... – CoredusK