试图将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?
你可以使用v5.x中的新钩子useRoute来获取params。