title: Invariant Violation after migrating to react-native-navigation v2 from v1
body: <p>I get an Invariant Violation on Android after migrating to v2 from v1 after startup. How do I fix this?</p>
  
  <pre><code>Invariant Violation: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: object.
  
  Check the render method of `ReduxWrapper`.
  
  This error is located at:
      in ReduxWrapper (at renderApplication.js:35)
      in RCTView (at View.js:45)
      in View (at AppContainer.js:98)
      in RCTView (at View.js:45)
      in View (at AppContainer.js:115)
      in AppContainer (at renderApplication.js:34)
  createFiberFromTypeAndProps
  
  createFiberFromElement
  
  reconcileSingleElement
      TouchableNativeFeedback.android.js:257:31
  reconcileChildFibers
  
  reconcileChildren
      VirtualizedList.js:911:10
  finishClassComponent
      VirtualizedList.js:439:28
  updateClassComponent
      VirtualizedList.js:1404:41
  performUnitOfWork
  
  workLoop
      NativeModules.js:32:36
  renderRoot
      NativeModules.js:98:6
  performWorkOnRoot
      MessageQueue.js:312:11
  performWork
  
  performSyncWork
  
  requestWork
  
  scheduleWork
      defineLazyObjectProperty.js:35:19
  scheduleRootUpdate
      deepFreezeAndThrowOnMutationInDev.js:59:4
  render
  
  renderApplication
  
  run
  
  runApplication
  
  __callFunction
      SharedElement.js:20:28
  &lt;unknown&gt;
      LayoutTreeCrawler.js:4:21
  __guard
  
  callFunctionReturnFlushedQueue
  
  callFunctionReturnFlushedQueue
      [native code]
  </code></pre>
  
  <p>I already tried isolating the problem and checked if I took the right steps to migrate, but I can't figure out the problem.</p>
  
  <pre><code>import {Provider} from "react-redux";
  import {Navigation} from "react-native-navigation";
  import {registerScreens} from "./screens";
  import configureStore from "./store/configureStore";
  
  export const store = configureStore();
  
  registerScreens(store, Provider);
  
  Navigation.events().registerAppLaunchedListener(() =&gt; {
      initApp().then(() =&gt; {
          Navigation.setRoot({
              root: {
                  stack: {
                      children: [{
                          component: {
                              name: "app.Login"
                          }
                      }],
                      options: {
                          topBar: {
                              title: {
                                  text: ""
                              }
  
                          }
                      }
                  }
              }
          }).catch(function (reason) {
          console.error("Screen creation failed", reason);
      }); }
      );
  });
  
  async function initApp() {
    ...
  }
  </code></pre>
  
  <p>This is the index.android.ts file.</p>
  
  <pre><code>import {Navigation} from "react-native-navigation";
  import LoginController from "./modules/controller/LoginController";
  
  
  export function registerScreens(store: any, provider: any) {
      Navigation.registerComponentWithRedux("app.Login", () =&gt; LoginController, store, provider);
  }
  </code></pre>
  
  <p>This is the screens.ts file.</p>
  
  <pre><code>...
    "dependencies": {
      "@react-native-community/async-storage": "^1.2.4",
      "@react-native-community/netinfo": "^2.0.0",
      "abortcontroller-polyfill": "^1.1.9",
      "babel-plugin-transform-remove-console": "^6.9.4",
      "crypto-js": "^3.1.9-1",
      "dateformat": "latest",
      "immutable": "latest",
      "moment-timezone": "^0.5.21",
      "node-fetch": "^2.1.2",
      "react": "16.8.3",
      "react-native": "0.59.1",
      "react-native-android-location-services-dialog-box": "^2.8.0",
      "react-native-background-timer": "^2.1.1",
      "react-native-check-box": "^2.1.0",
      "react-native-cli": "^2.0.1",
      "react-native-device-info": "^0.25.1",
      "react-native-elements": "^0.19.1",
      "react-native-keyboard-aware-scroll-view": "^0.8.0",
      "react-native-mail": "^3.0.6",
      "react-native-material-textfield": "^0.12.0",
      "react-native-navigation": "^2.18.3",
      "react-native-permissions": "^1.1.1",
      "react-native-settings-list": "^1.8.0",
      "react-native-swipe-list-view": "^1.5.1",
      "react-native-swipeable": "^0.6.0",
      "react-native-textinput-effects": "^0.5.1",
      "react-native-vector-icons": "^6.2.0",
      "react-native-version-check": "^3.0.3",
      "react-redux": "^5.1.1",
      "redux": "^4.0.1",
      "redux-immutable-state-invariant": "^2.1.0",
      "redux-logger": "^3.0.6",
      "redux-persist": "^5.10.0",
      "redux-thunk": "^2.3.0",
      "remote-redux-devtools": "^0.5.16",
      "rn-placeholder": "^1.3.3"
    },
    "devDependencies": {
      "@babel/core": "^7.4.3",
      "@babel/plugin-proposal-class-properties": "^7.4.0",
      "@babel/plugin-proposal-decorators": "^7.4.0",
      "@babel/plugin-transform-object-assign": "^7.2.0",
      "@babel/plugin-transform-runtime": "^7.4.3",
      "@babel/preset-env": "^7.4.3",
      "@babel/preset-react": "^7.0.0",
      "@babel/preset-typescript": "^7.3.3",
      "@babel/runtime": "7.4.3",
      "@types/chai": "^4.1.7",
      "@types/enzyme": "^3.1.12",
      "@types/enzyme-adapter-react-16": "^1.0.2",
      "@types/enzyme-redux": "^0.2.2",
      "@types/jest": "^23.3.0",
      "@types/json-schema": "^7.0.1",
      "@types/moment-timezone": "^0.5.12",
      "@types/react": "^16.4.6",
      "@types/react-native": "^0.57.29",
      "@types/react-native-background-timer": "^2.0.0",
      "@types/react-native-material-textfield": "^0.12.3",
      "@types/react-native-navigation": "^1.1.12",
      "@types/react-native-settings-list": "^1.8.1",
      "@types/react-native-vector-icons": "^6.4.0",
      "@types/react-redux": "^7.0.0",
      "@types/react-test-renderer": "^16.0.1",
      "@types/redux-test-utils": "^0.2.0",
      "babel-jest": "^24.7.1",
      "babel-preset-react-native-stage-0": "^2.0.0-alpha.1",
      "babel-runtime": "^7.0.0-beta",
      "chai": "^4.1.2",
      "enzyme": "^3.9.0",
      "enzyme-adapter-react-16": "^1.11.2",
      "enzyme-redux": "^0.2.1",
      "jest": "24.7.1",
      "jest-spec-reporter": "^1.0.5",
      "jsdom": "^14.0.0",
      "metro-react-native-babel-preset": "^0.53.1",
      "react-dom": "^16.8.5",
      "react-native-mock": "^0.3.1",
      "react-native-typescript-transformer": "^1.2.12",
      "react-test-renderer": "^16.8.3",
      "redux-test-utils": "^0.3.0",
      "ts-jest": "^24.0.1",
      "tslint": "^5.10.0",
      "typescript": "^3.4.1",
      "typescript-babel-jest": "^1.0.6"
    },
  ...
  </code></pre>
  
  <p>The dependencies from package.json.</p>
  
  <p>I followed the migration guide and expected it to work.</p>
  
  <p><a href="https://wix.github.io/react-native-navigation/#/docs/top-level-api-migration" rel="nofollow noreferrer">https://wix.github.io/react-native-navigation/#/docs/top-level-api-migration</a></p>