React-native-navigation: my android app was crached when using bottomtab in RNN V2

Created on 3 Jan 2019  路  7Comments  路  Source: wix/react-native-navigation

Issue Description

[ENTER DESCRIPTION HERE]
app was crashed when using Reactnative navigation v2 bottomTab what is the problum in this code

Steps to Reproduce / Code Snippets / Screenshots

import {Navigation} from 'react-native-navigation'

Navigation.setRoot({
    root:{
sideMenu: {
    id:"RootStack",
    left: {
        component: {
            id: 'SideMenu',
            name: 'reminder.sideMenu',
        }
    },
    center: {
        bottomTabs: {
            id:'bottomTab',
        options: {
                bottomTabs: {
                        titleDisplayMode: 'alwaysShow',
                        //testID: testIDs.BOTTOM_TABS_ELEMENT,
                        backgroundColor: 'white',
                        currentTabIndex: 0,
                        },
                },
    children: [
        {
            stack: {
            id: 'BOTTOM_TAB_SCREENS',
            options: {
                        bottomTab:{
                        selectedIconColor: 'green',
                        }
                    },

            children: [{
            component: {
                name: 'reminder.ContactList',
                passProps: {
                            text: 'This is tab 1',
                            // myFunction: () => 'Hello from a function!',
                            },
                options: {
                        bottomTab: {
                            icon:require('../../Images/home1.png'),
                            text:'Home',
                            },
                            // topBar:{
                            //  // visible:true
                            // }
                    },
                }
            },
            ]
        }
        },
        {
            component: {
                name: 'reminder.ContactList',
                options: {
                    bottomTab: {
                        icon: require('../../Images/contact.png'),
                        text:'Contact',
                        selectedIconColor: 'green',
                    }
                }
            },
        },
        {
            component: {
                name: 'reminder.FeedBack',
                options: {
                    bottomTab: {
                        icon: require('../../Images/chatbot.png'),
                        text:'Chatbot',
                        selectedIconColor: 'green',
                    }
                }
            },
        },
        {
            component: {
                name: 'reminder.FeedBack',
                options: {
                    bottomTab: {
                        icon: require('../../Images/feedback.png'),
                        text:'Feedback',
                        selectedIconColor: 'green',

                    }
                }
            },
        },
    ],
},
}

},
}
})
}

[FILL THIS OUT]


Environment

  • React Native Navigation version: 2.1.3
  • React Native version: 0.57.5
  • Platform(s) (iOS, Android, or both?): android
  • Device info (Simulator/Device? OS version? Debug/Release?): FILL THIS OUT
馃彋 stale

Most helpful comment

Try to set icon. On adroid it crashes when you didnt give an icon source to bottomTab.

All 7 comments

Crashes also. See example: same screen component used...

If used as bottomTabs -> Android crashes
If used just as component -> ok

RN 0.57.8
RNN 2.5.1

export const gotoTab = () => Navigation.setRoot({
root: {
bottomTabs: {
children: [
{
component: {
name: 'Events',
},
}
],
},
}
});

export const gotoAuth = () => Navigation.setRoot({
root: {
component: {
name: 'Auth',
}
}
})

Log from AS
2019-01-08 17:00:21.285 27419-27419/com.flyaway E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.test, PID: 27419
java.lang.RuntimeException: Tried to get null value!
at com.reactnativenavigation.parse.params.Param.get(Param.java:14)
at com.reactnativenavigation.viewcontrollers.bottomtabs.BottomTabsController.lambda$createTabs$3(BottomTabsController.java:152)
at com.reactnativenavigation.viewcontrollers.bottomtabs.-$$Lambda$BottomTabsController$hVDDSxSvqNX-4DhQHls8ynB4x2w.map(Unknown Source:4)
at com.reactnativenavigation.utils.CollectionUtils.map(CollectionUtils.java:42)
at com.reactnativenavigation.viewcontrollers.bottomtabs.BottomTabsController.createTabs(BottomTabsController.java:148)
at com.reactnativenavigation.viewcontrollers.bottomtabs.BottomTabsController.createView(BottomTabsController.java:72)
at com.reactnativenavigation.viewcontrollers.ViewController.getView(ViewController.java:155)
at com.reactnativenavigation.viewcontrollers.ParentController.getView(ParentController.java:60)
at com.reactnativenavigation.viewcontrollers.navigator.RootPresenter.setRoot(RootPresenter.java:29)
at com.reactnativenavigation.viewcontrollers.navigator.Navigator.setRoot(Navigator.java:134)
at com.reactnativenavigation.react.NavigationModule.lambda$setRoot$1(NavigationModule.java:70)
at com.reactnativenavigation.react.-$$Lambda$NavigationModule$IfiDeOnYfgJADKZUxIVN9Zforsw.run(Unknown Source:8)
at android.os.Handler.handleCallback(Handler.java:790)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6494)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)

I have same issue

private List<AHBottomNavigationItem> createTabs() {
        if (tabs.size() > 5) throw new RuntimeException("Too many tabs!");
        return map(tabs, tab -> {
            BottomTabOptions options = tab.resolveCurrentOptions().bottomTabOptions;
            return new AHBottomNavigationItem(
                    options.text.get(""),
                    imageLoader.loadIcon(getActivity(), options.icon.get()),
                    options.testId.get("")
            );
        });
    }

when the application reaches this line imageLoader.loadIcon(getActivity(), options.icon.get()) after cannot go ahead @guyca

Same issue here, did you guys find a workaround for this?

Try to set icon. On adroid it crashes when you didnt give an icon source to bottomTab.

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.
If you believe the issue is still relevant, please test on the latest Detox and report back. Thank you for your contributions.

The issue has been closed for inactivity.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

viper4595 picture viper4595  路  3Comments

swingywc picture swingywc  路  3Comments

edcs picture edcs  路  3Comments

kiroukou picture kiroukou  路  3Comments

zhanguangao picture zhanguangao  路  3Comments