ReactNative navigation 5 - 如何获取 "navigation.state.params"(从1.x升级)

问题描述 投票:0回答:1

试图将1.x的旧版react navigation升级到当前的5.x版本。navigation.state.params在1.x版本中使用的。该值在其中一个屏幕上使用nav.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.Context?

react-navigation react-navigation-v5
1个回答
0
投票

你可以使用v5.x中的新钩子useRoute来获取params。

这里的文档

© www.soinside.com 2019 - 2024. All rights reserved.