Как скрыть реагировать на родную вкладку навигации?
Я хочу условно скрыть элемент или элементы из вкладки навигации. С перенаправленной страницы я отправляю логический параметр (..navigate('SomePage', { some_value: true });) и в соответствии с этим значением изменяется видимость элемента вкладки. Но из того, что я исследовал, не похоже, что динамически создаваемая навигация по вкладкам вообще не способна.
Вопрос
Как я могу назначить элемент на TabNavigator?
Вот соответствующий код:
import X from './X'
import Y from './Y'
export const TabNavigatorTest = TabNavigator({
X: {
screen: X, navigationOptions: (props) => ({
title: "X"
})
},
Y: {
screen: Y, navigationOptions: (props) => ({
title: "Y",
})
}
},
{
navigationOptions: ({ navigation }) => ({
tabBarIcon: ({ focused, tintColor }) => {
const { routeName } = navigation.state;
let iconName;
if (routeName === 'X') {
iconName = `ios-information-circle${focused ? '' : '-outline'}`;
} else if (routeName === 'Y') {
iconName = `ios-flask${focused ? '' : '-outline'}`;
}
return <Ionicons name={iconName} size={25} color={tintColor} />;
}
}),
tabBarOptions: {
activeTintColor: 'tomato',
inactiveTintColor: 'gray',
},
tabBarComponent: TabBarBottom,
tabBarPosition: 'bottom',
removeClippedSubviews: true,
animationEnabled: true,
swipeEnabled: true,
});
....
export default class Urun extends React.Component {
...
static router = TabNavigatorTest.router;
...
render() {
...
return (
<TabNavigatorTest
navigation={this.props.navigation} />
);
}
}