0
TabNavigator에는 자체 상태가없는 것 같습니다. state
또는 props
을 사용할 수 있습니까?TabStackNavigator의 상태?
통지 TabIcon에 the number of unread notification
을 표시하고 싶습니다.
export default TabNavigator(
{
...
Noti: {
screen: NotificationStackNavigator,
},
...
},
{
navigationOptions: ({ navigation }) => ({
header: null,
tabBarIcon: ({ focused }) => {
const { routeName } = navigation.state;
let iconName;
switch (routeName) {
...
case 'Noti':
iconName = 'ios-notifications';
break;
...
}
...
if(iconName == 'ios-notifications') {
return (
<IconBadge
MainElement={
<Ionicons
name={iconName}
size={30}
style={{ marginBottom: -3 }}
color={focused ? Colors.tabIconSelected : Colors.tabIconDefault}/>
}
BadgeElement={
<Text style={{color:'#FFFFFF'}}>
{{this.state.notifications}} // my goal
</Text>
}
IconBadgeStyle={{
backgroundColor: '#f64e59',
position: 'absolute',
right:-10,
top:0,
}}
/>
);
}
...
불명확 한 점이 있으면 알려주십시오. 미리 감사드립니다.
업데이트 내 TabNavigator를 리팩토링 할 계획입니다. 이게 당신이하는 말인가요?
export default TabNavigator(
to
const MainTabNavigator = TabNavigator(
class MainTabNavigator extends Component {
state = {notification}
export default connect(...)(MainTabNavigator);
업데이트 2 MainTabNavigator의 상위 레벨 구성 요소는 다른가 TabNavigator입니다. 다른 해결책이 있습니까?
const RootTabNavigator = TabNavigator ({
Auth: {
screen: AuthStackNavigator,
},
Welcome: {
screen: WelcomeScreen,
},
Main: {
screen: MainTabNavigator,
},
감사하지만 난 당신이 내 질문을 이해 생각하지 않는다
screenprops
를 통해 추가 사용자 소품을 전달할 수 있습니다. TabNavigator에서 state와 props를'// config'로 주석 처리하고 싶습니다. 그리고 미안 해요 당신의 예제 코드는 나에게 이해가되지 않습니다. –
음'TabNavigator'는 상태를 유지하지 않으므로 상태를 얻지 못하지만 소품을받습니다. 귀하의 설정에서'this.props.myCustomProp'을 참조 할 수 있으며 렌더링시' 에 설정된 일부 값 –
이 사실이 아니기를 바랍니다. 나는 얼마나 많은 읽지 않은 알림을 추적 할 수있는 방법이 없습니다. –