Когда мы пытаемся использовать свойство tabBarLabel в defaultNavigationOptions в Typescript, мы получаем ошибку о типе.
Я пробовал код в Javascript и не получаю сообщение об ошибке.
Если мы используем только barTabIcon, код работает.
Я установил библиотеки с типами: '@ types / response-navigation [...]', но ничего.
Как я могу решить эту проблему? Есть идеи?
import React, {Component} from 'react';
import {StyleSheet, Image, View} from 'react-native';
import {
createAppContainer,
createBottomTabNavigator
} from 'react-navigation';
import AccountScreen from '../tabmenu/AccountScreen';
import CarteScreen from '../tabmenu/CarteScreen';
import OperazioniScreen from '../tabmenu/OperazioniScreen';
const TabNavigator = createBottomTabNavigator({
Account: {screen: AccountScreen},
Carte: {screen: CarteScreen},
Operazioni: {screen: OperazioniScreen}
}, {
defaultNavigationOptions: ({navigation}) => ({
tabBarIcon: ({focused, horizontal, tintColor}) => {
//inserire switch
const {routeName} = navigation.state;
if (routeName === 'Account') {
return (
<Image
source= .
{require('../../../res/drawable/faq.png')}
style={{width: 20, height: 20,}}/>
);
} else {
return (
<Image
source= .
{require('../../../res/drawable/faq.png')}
style={{width: 20, height: 20}}/>
)
}
},
tabBarLabel: ({focused, tintColor}) => {
const {routeName} = navigation.state;
let label;
switch (routeName) {
case 'Account':
return label = focused ?<Text>Account</Text>:null;
case 'Carte':
return label = focused ? <Text >Carte</Text> :null;
case 'Appointments':
return label = focused ?<Text>Operazioni</Text> : null;
}
return label
},
}
),
}
);
class HomeScreen extends Component {
render() {
return (
<View style={styles.container}>
<TabNavigator/>
</View>
);
}
}
const styles = StyleSheet.create({
[...]
});
export default createAppContainer(TabNavigator);