ReactNative navigation 5 - как получить `navigation.state.params` (обновление с 1.x) - PullRequest
0 голосов
/ 26 марта 2020

Попытка обновить старую реагирующую навигацию 1.x до текущей версии 5.x. Мне нужно отобразить различные значки вкладок в зависимости от того, какое значение в navigation.state.params, которые были использованы в версии 1.x. Это значение устанавливается на одном из экранов с помощью navigation.dispatch (data).

это упрощенный код, используемый с навигацией 1.x:

import {TabBarBottom, TabNavigator} from 'react-navigation';
import {MyIcon, AnotherIcon} from './icons.js';

export default TabNavigator({
    Home: {screen: HomeRouter},
    Profile: {screen: ProfileRouter},
}, {
    navigationOptions: ({navigation}) => ({
        tabBarIcon: ({focused}) => {
            const {routeName, params} = navigation.state;
            ...
            if (params.data === 1)  {
                return <AnotherIcon />
            }
            ...
            return <MyIcon />;
        },
    }),
    tabBarComponent: TabBarBottom,
    tabBarPosition: 'bottom',
});

как нужно изменить, чтобы работать с React навигацией v.5.x? или все, что я мог сделать, это использовать React.Context?

1 Ответ

0 голосов
/ 23 апреля 2020

Вы можете получить параметры, используя новый хук useRoute, доступный в v5.x

Документация здесь

...