Сбой React-Native-Navigation при установке root на bottomTabs с иконками - PullRequest
0 голосов
/ 11 мая 2019

Я использую React-Native-Navigation v2.18.5 с React Native 0.59.8, и когда я пытаюсь использовать Navigation.setRoot (...) с макетом bottomTabs, приложение просто падает.В консоли ничего не отображается, но logcat показывает это:

   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:155)
       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:151)
       at com.reactnativenavigation.viewcontrollers.bottomtabs.BottomTabsController.createView(BottomTabsController.java:75)
       at com.reactnativenavigation.viewcontrollers.ViewController.getView(ViewController.java:167)
       at com.reactnativenavigation.viewcontrollers.ParentController.getView(ParentController.java:60)
       at com.reactnativenavigation.viewcontrollers.navigator.RootPresenter.setRoot(RootPresenter.java:35)
       at com.reactnativenavigation.viewcontrollers.navigator.Navigator.setRoot(Navigator.java:135)
       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:873)
       at android.os.Handler.dispatchMessage(Handler.java:99)
       at android.os.Looper.loop(Looper.java:193)
       at android.app.ActivityThread.main(ActivityThread.java:6669)
       at java.lang.reflect.Method.invoke(Native Method)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)

Вот мой код:

import { Navigation } from "react-native-navigation";

import Icon from "react-native-vector-icons/Ionicons";

const startMainTabs = () => {
  Promise.all([
    Icon.getImageSource("md-body", 30),
    Icon.getImageSource("md-time", 30)
  ])
    .then(sources => {
      console.log("GOT IMAGES");
      console.log(sources[0], sources[1]);
      Navigation.setRoot({
        root: {
          bottomTabs: {
            children: [
              {
                component: {
                  name: "fitboard.myworkouts",
                  options: {
                    buttomTab: {
                      text: "MyWorkouts",
                      icon: sources[0]
                    }
                  }
                }
              },
              {
                component: {
                  name: "fitboard.hiittimer",
                  options: {
                    bottomTab: {
                      text: "HIITTimer",
                      icon: sources[1]
                    }
                  }
                }
              }
            ]
          }
        }
      });
    })
    .catch(err => {
      console.log(err);
    });
};

export default startMainTabs;

И экраны также зарегистрированы в моем App.js:

Navigation.registerComponent(`fitboard.hiittimer`, () => HiitTimer);

Navigation.registerComponent(`fitboard.myworkouts`, () => MyWorkouts);

Как видите, я предоставляю Icon, поэтому проблема не в этом ... Кроме того, response-native-navigation не приводит к сбою моего приложения при использовании компоновки компонента.Есть идеи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...