Начальные параметры маршрута в React Navigation v5?

В React Navigation v3 было свойство initialRouteParams для передачи начальных значений в this.navigation.props. Есть ли способ установить начальные параметры маршрута для доступа через route.params в React Navigation v5?

function MainScreen({route, navigation}) {
    return (
        // how to pass default values to route in here?
        // route.params.userParam ?
        ...
    );
}

person Denis Kulagin    schedule 07.02.2020    source источник


Ответы (1)


Это можно сделать, передав initialParams в Stack.Screen:

<Stack.Screen
    name="Main"
    component={MainScreen}
    initialParams={{ /* initialParams */ }}
/>

Также существует удобный синтаксис по умолчанию, который можно использовать (см. Больше нет getParam):

route.params?.userParam ?? 'defaultValue'
person Denis Kulagin    schedule 08.02.2020
comment
Это не работает, если главный экран - это еще один Stack.Navigator. Тогда параметры не передаются на экран, отображаемый в этом навигаторе. - person philk; 27.08.2020