[
  {
    "path": ".babelrc.js",
    "content": "module.exports = {\n  \"extends\": \"./babel.config.js\"\n};\n"
  },
  {
    "path": ".circleci/config.yml",
    "content": "version: 2\njobs:\n  build:\n    working_directory: ~/react-native-router-flux\n    docker:\n      - image: circleci/node:10\n    steps:\n      - checkout\n      - restore_cache:\n          key: dependency-cache-{{ checksum \"package.json\" }}\n      - run:\n          name: install-dependencies\n          command: yarn install --frozen-lockfile\n      - save_cache:\n          key: dependency-cache-{{ checksum \"package.json\" }}\n          paths:\n            - ~/.cache/yarn\n      - run:\n          name: test\n          command: yarn test\n      - run:\n          name: linter\n          command: yarn lint\n      - run:\n          name: install-dependencies react-native example\n          command: yarn install --frozen-lockfile\n          working_directory: ~/react-native-router-flux/examples/react-native\n      - run:\n          name: test react-native example\n          command: yarn test\n          working_directory: ~/react-native-router-flux/examples/react-native\n"
  },
  {
    "path": ".codeclimate.yml",
    "content": "engines:\n eslint:\n   enabled: true\n   channel: \"eslint-2\"\nratings:\n paths:\n - \"**.js\"\nexclude_paths:\n"
  },
  {
    "path": ".editorconfig",
    "content": "root = true\n\n[*]\ncharset = utf-8\nend_of_line = lf\nindent_size = 2\nindent_style = space\ninsert_final_newline = true\ntrim_trailing_whitespace = true\n"
  },
  {
    "path": ".eslintrc.js",
    "content": "module.exports = {\n  extends: 'airbnb',\n  plugins: ['react', 'jest'],\n  env: {\n    'jest/globals': true,\n  },\n  parser: 'babel-eslint',\n  rules: {\n    'no-new-func': 'warn',\n    'jest/no-disabled-tests': 'warn',\n    'jest/no-focused-tests': 'error',\n    'jest/no-identical-title': 'error',\n    'jest/valid-expect': 'error',\n\n    'react/forbid-prop-types': 'warn',\n    'react/prop-types': 'off',\n    'react/require-default-props': 'off',\n    'react/no-unused-prop-types': 'off',\n    'no-param-reassign': 0,\n    'no-console': 0,\n    'new-cap': 0,\n    'no-underscore-dangle': 0,\n    'no-use-before-define': 0,\n    'max-len': ['error', 180],\n    'import/no-unresolved': [\n      2,\n      {\n        ignore: ['^react$', '^react-native$', '^react-native/'],\n      },\n    ],\n    'import/no-cycle': 'warn',\n    'import/no-self-import': 'warn',\n    'react/jsx-filename-extension': [\n      1,\n      {\n        extensions: ['.js', '.jsx'],\n      },\n    ],\n    'import/no-extraneous-dependencies': [\n      'error',\n      {\n        devDependencies: true,\n      },\n    ],\n    'no-bitwise': [\n      'error',\n      {\n        allow: ['^'],\n      },\n    ],\n    'no-restricted-syntax': ['error', 'ForInStatement', 'LabeledStatement', 'WithStatement'],\n  },\n  settings: {\n    'import/resolver': {\n      node: {\n        extensions: ['.js', '.android.js', '.ios.js'],\n      },\n    },\n    node: true,\n    react: {\n      version: '16.4.2',\n    },\n  },\n};\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE.md",
    "content": "### Version\nTell us which versions you are using:\n<!--\n\nv3 and v4.0.0-beta.x are not supported\n\nYou can use `npm ls [package]` or `yarn info [package]` to be sure about the versions that were installed (in case you are not locked to a specific version).\n\n-->\n- react-native-router-flux v4.?.?\n- react v16.?.?\n- react-native v0.?.?\n\n<!--\nPlease before continuing, check if the versions that you using are compatible.\n\n| `react-native` | `react`         |\n|----------------|-----------------\n| 0.46.x         | 16.0.0-alpha.12 |\n| 0.47.x         | 16.0.0-alpha.12 |\n| 0.48.x         | 16.0.0-alpha.12 |\n| 0.49.x         | 16.0.0-beta.5   |\n| 0.50.x         | 16.0.0          |\n| 0.51.x         | 16.0.0          |\n| 0.52.x         | 16.2.0          |\n| 0.54.x         | 16.3.0-alpha.1  |\n| 0.55.x         | 16.3.1          |\n| 0.56.x         | 16.4.1          |\n--->\n\n### Expected behaviour\n\n\n\n### Actual behaviour\n\n\n\n### Steps to reproduce\nFor non-obvious bugs, please fork this component, modify Example project to reproduce your issue and include link here.\n1.\n2.\n3.\n\n### Reproducible Demo\n<!--\n\n  How to create a Minimal, Complete, and Verifiable example\n  https://stackoverflow.com/help/mcve\n\n-->\nPlease provide a minimized reproducible demonstration of the problem you're reporting.\n\nIssues that come with minimal repro's are resolved much more quickly than issues where a maintainer has to reproduce themselves.\n\n<!-- Love react-native-router-flux? Please consider supporting our collective:\n👉  https://opencollective.com/react-native-router-flux/donate -->\n"
  },
  {
    "path": ".github_changelog_generator",
    "content": "unreleased=true\nsince-tag=4.0.0-beta.23\nexclude-labels=for stack overflow,invalid,wontfix\n"
  },
  {
    "path": ".gitignore",
    "content": "# OSX\n#\n.DS_Store\n\n# Xcode\n#\nbuild/\n*.pbxuser\n!default.pbxuser\n*.mode1v3\n!default.mode1v3\n*.mode2v3\n!default.mode2v3\n*.perspectivev3\n!default.perspectivev3\nxcuserdata\n*.xccheckout\n*.moved-aside\nDerivedData\n*.hmap\n*.ipa\n*.xcuserstate\nproject.xcworkspace\n\n# Android/IJ\n#\n.idea\n.gradle\nlocal.properties\n\n# node.js\n#\nnode_modules/\n*.log\n\n.vscode/\njsconfig.json"
  },
  {
    "path": ".npmignore",
    "content": "Example/\nReduxExample/\n.idea/\nexamples/\n.babelrc\n"
  },
  {
    "path": ".prettierrc",
    "content": "{\n  \"printWidth\": 180,\n  \"singleQuote\": true,\n  \"semi\": true,\n  \"bracketSpacing\": true,\n  \"trailingComma\": \"all\"\n}\n"
  },
  {
    "path": ".travis.yml",
    "content": "language: node_js\nnode_js:\n  - \"6\"\nos:\n  - osx\ncache:\n  - yarn\n  - directories:\n    - \"$TRAVIS_BUILD_DIR/node_modules\"\n    - \"$TRAVIS_BUILD_DIR/Example/node_modules\"\nnotifications:\n  email: false\nbranches:\n  only:\n    - master\nenv:\n  matrix:\n    - TEST_SUITE=eslint CACHE_NAME=eslint\n    - TEST_SUITE=lib-test CACHE_NAME=lib-test\n    - TEST_SUITE=example-jest CACHE_NAME=example-jest\nbefore_install:\n  - export YARN_GPG=no\ninstall:\n  - curl -o- -L https://yarnpkg.com/install.sh | bash\n  - export PATH=$HOME/.yarn/bin:$PATH\n  - if [ $TEST_SUITE = example-jest ]; then cd Example && yarn && cd ..; fi\n  - if [ $TEST_SUITE = eslint ] || [ $TEST_SUITE = lib-test ]; then yarn; fi\nbefore_script:\n  - if [ $TEST_SUITE = example-jest ]; then rm -rf Example/node_modules/react-native-router-flux/node_modules; fi\n  - if [ $TEST_SUITE = example-jest ]; then rm -rf Example/node_modules/react-native-router-flux/Example; fi\n  - if [ $TEST_SUITE = example-jest ]; then cp -r src/ Example/node_modules/react-native-router-flux/src/; fi\nscript:\n  - if [ $TEST_SUITE = eslint ]; then node node_modules/.bin/eslint index.js src/ _tests__/; fi\n  - if [ $TEST_SUITE = lib-test ]; then yarn test; fi\n  - if [ $TEST_SUITE = example-jest ]; then cd Example && yarn run jest && cd ..; fi\nbefore_cache:\n  - if [ $TEST_SUITE = example-jest ]; then rm -rf Example/node_modules/react-native-router-flux/src; fi\naddons:\n    code_climate:\n        repo_token: a2bf832968783c93c977e25624e038120a559ffda488f5c76ec1c304e80a9c6e\n"
  },
  {
    "path": "CHANGELOG.md",
    "content": "# Change Log\n\n## [Unreleased](https://github.com/aksonov/react-native-router-flux/tree/HEAD)\n\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/4.0.4...HEAD)\n\n**Closed issues:**\n\n-  typeError: navigationStore.getStateForAction is not a function [\\#3296](https://github.com/aksonov/react-native-router-flux/issues/3296)\n\n## [4.0.4](https://github.com/aksonov/react-native-router-flux/tree/4.0.4) (2018-09-27)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/4.0.3...4.0.4)\n\n**Fixed bugs:**\n\n- Actions.replace: There is no route defined for Key X [\\#3258](https://github.com/aksonov/react-native-router-flux/issues/3258)\n- after update to Release 4.0.2 props not working... [\\#3206](https://github.com/aksonov/react-native-router-flux/issues/3206)\n\n**Closed issues:**\n\n- Error on ios platform [\\#3294](https://github.com/aksonov/react-native-router-flux/issues/3294)\n- Modal and nested Stack routing configuration [\\#3277](https://github.com/aksonov/react-native-router-flux/issues/3277)\n- Unable to access component instance in onRight/onLeft [\\#3274](https://github.com/aksonov/react-native-router-flux/issues/3274)\n- jump to create new page is failed [\\#3271](https://github.com/aksonov/react-native-router-flux/issues/3271)\n- Drawer doesn't show correctly on Actions.drawerOpen\\(\\) [\\#3262](https://github.com/aksonov/react-native-router-flux/issues/3262)\n- Actions.pop\\(refresh:{}\\) does not work for me  [\\#3172](https://github.com/aksonov/react-native-router-flux/issues/3172)\n\n## [4.0.3](https://github.com/aksonov/react-native-router-flux/tree/4.0.3) (2018-09-24)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/4.0.2...4.0.3)\n\n**Closed issues:**\n\n- Require cycle warnings with React Native 0.57.0 [\\#3282](https://github.com/aksonov/react-native-router-flux/issues/3282)\n\n**Merged pull requests:**\n\n- ❗️Hotfix - update react-native-experimental-navigation package [\\#3290](https://github.com/aksonov/react-native-router-flux/pull/3290) ([jonathanchrisp](https://github.com/jonathanchrisp))\n\n## [4.0.2](https://github.com/aksonov/react-native-router-flux/tree/4.0.2) (2018-09-24)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/3.5.0...4.0.2)\n\n**Implemented enhancements:**\n\n- Missing typings [\\#3276](https://github.com/aksonov/react-native-router-flux/issues/3276)\n- Add Expo example and move examples do its own folder [\\#3267](https://github.com/aksonov/react-native-router-flux/issues/3267)\n- Custom title not centered on Android after upgrade to 4.0.1 [\\#3207](https://github.com/aksonov/react-native-router-flux/issues/3207)\n- onEnter event supported on Drawer component ? Want to call function when user open Drawer [\\#3204](https://github.com/aksonov/react-native-router-flux/issues/3204)\n- Header title not centered when there is a right/left button [\\#3153](https://github.com/aksonov/react-native-router-flux/issues/3153)\n- Closes \\#3163: Bring TabBarTop and TabBarBottom back to LegacyTabs [\\#3265](https://github.com/aksonov/react-native-router-flux/pull/3265) ([daviscabral](https://github.com/daviscabral))\n\n**Fixed bugs:**\n\n- Actions.refresh renderRightButton has no effect [\\#3218](https://github.com/aksonov/react-native-router-flux/issues/3218)\n- hideTabBar is broken when used in nested stacks/scenes [\\#3197](https://github.com/aksonov/react-native-router-flux/issues/3197)\n- renderLeftButton not working when back={true} [\\#3188](https://github.com/aksonov/react-native-router-flux/issues/3188)\n\n**Closed issues:**\n\n- Example app uses 4.0.2, latest version on npm is 4.0.1 [\\#3285](https://github.com/aksonov/react-native-router-flux/issues/3285)\n- Custom Scene Component ignored onEnter function [\\#3283](https://github.com/aksonov/react-native-router-flux/issues/3283)\n- Actions.Scenename cause render multiple time and cause getWrappedInstance return undefined [\\#3278](https://github.com/aksonov/react-native-router-flux/issues/3278)\n- Android drawer slow switching between stacks [\\#3273](https://github.com/aksonov/react-native-router-flux/issues/3273)\n- about PopTo [\\#3268](https://github.com/aksonov/react-native-router-flux/issues/3268)\n- node\\_modules\\_reactnativerouterflux\\_node\\_modules\\_reactnavigationstack\\_dist\\_views\\_assets\\_backiconmask.png: error: Invalid filename.  Unable to add. [\\#3264](https://github.com/aksonov/react-native-router-flux/issues/3264)\n- Allow push the same scene into navigation stack multiple [\\#3263](https://github.com/aksonov/react-native-router-flux/issues/3263)\n- want to disable drawer  [\\#3260](https://github.com/aksonov/react-native-router-flux/issues/3260)\n- Error: There is no route defined for key undefined.  [\\#3259](https://github.com/aksonov/react-native-router-flux/issues/3259)\n- renderRightButton doesn't render anything [\\#3247](https://github.com/aksonov/react-native-router-flux/issues/3247)\n- Pop not working correctly in multiple stack in tabs [\\#3243](https://github.com/aksonov/react-native-router-flux/issues/3243)\n- New scene is not visible full screen [\\#3226](https://github.com/aksonov/react-native-router-flux/issues/3226)\n- Calling Actions.key\\(\\) not reload the components Scene [\\#3225](https://github.com/aksonov/react-native-router-flux/issues/3225)\n- Drawer Open detection [\\#3215](https://github.com/aksonov/react-native-router-flux/issues/3215)\n- is it possible to create a custom Scene instead of  use original Scene? [\\#3208](https://github.com/aksonov/react-native-router-flux/issues/3208)\n- Error while updating property transfrom of a view managed bt RCTView [\\#3200](https://github.com/aksonov/react-native-router-flux/issues/3200)\n- How to control swipe and return to the specified page instead of the previous page\\(ios\\) [\\#3187](https://github.com/aksonov/react-native-router-flux/issues/3187)\n- any plans to support SwitchNavigator or recommended setup [\\#3185](https://github.com/aksonov/react-native-router-flux/issues/3185)\n- Check the render method of `SceneView` error when upgraded to v4.0.1 [\\#3171](https://github.com/aksonov/react-native-router-flux/issues/3171)\n- Tab screens have no sliding animation [\\#3170](https://github.com/aksonov/react-native-router-flux/issues/3170)\n- Tabs flag for swiping not working [\\#3163](https://github.com/aksonov/react-native-router-flux/issues/3163)\n\n**Merged pull requests:**\n\n- Examples: move to its own folder [\\#3288](https://github.com/aksonov/react-native-router-flux/pull/3288) ([daviscabral](https://github.com/daviscabral))\n- Expo example [\\#3287](https://github.com/aksonov/react-native-router-flux/pull/3287) ([daviscabral](https://github.com/daviscabral))\n- rnrf-cli: initial work for a CLI [\\#3286](https://github.com/aksonov/react-native-router-flux/pull/3286) ([daviscabral](https://github.com/daviscabral))\n- Remove Gradle warning [\\#3284](https://github.com/aksonov/react-native-router-flux/pull/3284) ([bahaa96](https://github.com/bahaa96))\n- Typings: RouterProps createReducer, onStateChange, getSceneStyle, uriPrefix; Reducer. [\\#3281](https://github.com/aksonov/react-native-router-flux/pull/3281) ([bm-software](https://github.com/bm-software))\n- fix: add right title to ts definition [\\#3279](https://github.com/aksonov/react-native-router-flux/pull/3279) ([cgomezmendez](https://github.com/cgomezmendez))\n- Update README.md [\\#3275](https://github.com/aksonov/react-native-router-flux/pull/3275) ([ps0305](https://github.com/ps0305))\n- Closes \\#3267 \\#3258: Fix replace and issues with refresh [\\#3269](https://github.com/aksonov/react-native-router-flux/pull/3269) ([daviscabral](https://github.com/daviscabral))\n- Adds support for headerLayoutPreset and headerBackTitleEnabled [\\#3256](https://github.com/aksonov/react-native-router-flux/pull/3256) ([daviscabral](https://github.com/daviscabral))\n- \\#3204 onEnter/onExit for Drawer [\\#3254](https://github.com/aksonov/react-native-router-flux/pull/3254) ([daviscabral](https://github.com/daviscabral))\n- \\[\\#2932\\] Allows user defined tabBarOnPress while backToInitial [\\#3252](https://github.com/aksonov/react-native-router-flux/pull/3252) ([daviscabral](https://github.com/daviscabral))\n- fixes Actions.reset when getParent returns null [\\#3245](https://github.com/aksonov/react-native-router-flux/pull/3245) ([ChillkroeteTTS](https://github.com/ChillkroeteTTS))\n- README and ISSUE\\_TEMPLATE updated to reflect decision about 4.0.0-beta.x version [\\#3242](https://github.com/aksonov/react-native-router-flux/pull/3242) ([daviscabral](https://github.com/daviscabral))\n- Refresh not working as expected in several cases [\\#3240](https://github.com/aksonov/react-native-router-flux/pull/3240) ([daviscabral](https://github.com/daviscabral))\n\n## [3.5.0](https://github.com/aksonov/react-native-router-flux/tree/3.5.0) (2018-09-03)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/4.0.1...3.5.0)\n\n**Implemented enhancements:**\n\n- New release of `react-navigation` is available \\(v2.12.1\\) [\\#3222](https://github.com/aksonov/react-native-router-flux/issues/3222)\n- Upgrade react-navigation to v.2.12.1 [\\#3223](https://github.com/aksonov/react-native-router-flux/pull/3223) ([daviscabral](https://github.com/daviscabral))\n\n**Fixed bugs:**\n\n- Can't pass props to scene from Action.key\\(props\\). Think this way should work too. [\\#3236](https://github.com/aksonov/react-native-router-flux/issues/3236)\n- Actions.reset: There is no route defined for Key X [\\#3194](https://github.com/aksonov/react-native-router-flux/issues/3194)\n- Stack of same scene not working anymore after update from 4.0.0-beta-28 to 4.0.1 [\\#3176](https://github.com/aksonov/react-native-router-flux/issues/3176)\n- \\[Fix \\#3194 \\#3176\\] Adjust reset to work with nested routes [\\#3237](https://github.com/aksonov/react-native-router-flux/pull/3237) ([daviscabral](https://github.com/daviscabral))\n- add Statusbar marginTop for navTransparent [\\#3212](https://github.com/aksonov/react-native-router-flux/pull/3212) ([rikochet](https://github.com/rikochet))\n\n**Closed issues:**\n\n- How can i get the props after Actions.popTo in the previous scene? [\\#3241](https://github.com/aksonov/react-native-router-flux/issues/3241)\n- There is no route defined for key when using Actions.reset\\(\\); [\\#3234](https://github.com/aksonov/react-native-router-flux/issues/3234)\n- Proposal: RNRF 4.0.0-beta.32 as a new package [\\#3213](https://github.com/aksonov/react-native-router-flux/issues/3213)\n- How to pass the props in Tabs? [\\#3203](https://github.com/aksonov/react-native-router-flux/issues/3203)\n- Navigation breaks after 4.0.0-beta.23 [\\#3202](https://github.com/aksonov/react-native-router-flux/issues/3202)\n-  How can I hear the event come back? [\\#3201](https://github.com/aksonov/react-native-router-flux/issues/3201)\n- Upgrading from `4.0.0-beta27` to `4.0.0` breaks app [\\#3198](https://github.com/aksonov/react-native-router-flux/issues/3198)\n- Unable to transfer a state value from one scene to another via “Actions.push\\(\\)” ... [\\#3196](https://github.com/aksonov/react-native-router-flux/issues/3196)\n- IOS: setting scene backgroundColor to transparent not working [\\#3182](https://github.com/aksonov/react-native-router-flux/issues/3182)\n- drawer position right not working correctly [\\#3180](https://github.com/aksonov/react-native-router-flux/issues/3180)\n- How to listen onback, onpop inside screen component [\\#3178](https://github.com/aksonov/react-native-router-flux/issues/3178)\n- TextInput field lost focus for each character input [\\#3177](https://github.com/aksonov/react-native-router-flux/issues/3177)\n- ReactNativeJS: TypeError: undefined is not an object \\(evaluating 'context.changedBits'\\) [\\#3174](https://github.com/aksonov/react-native-router-flux/issues/3174)\n- android back button move the app to forground mode [\\#3173](https://github.com/aksonov/react-native-router-flux/issues/3173)\n- -v [\\#3167](https://github.com/aksonov/react-native-router-flux/issues/3167)\n- currentScene is not showing the currently mounted screens key [\\#3165](https://github.com/aksonov/react-native-router-flux/issues/3165)\n- initial scene not working when re-open the app [\\#3102](https://github.com/aksonov/react-native-router-flux/issues/3102)\n- How connect with redux RNRF v4 [\\#2851](https://github.com/aksonov/react-native-router-flux/issues/2851)\n\n**Merged pull requests:**\n\n- Add more information to issue template to help figure out cause of problems [\\#3239](https://github.com/aksonov/react-native-router-flux/pull/3239) ([daviscabral](https://github.com/daviscabral))\n- Add title to StackProps type definition [\\#3228](https://github.com/aksonov/react-native-router-flux/pull/3228) ([vanb](https://github.com/vanb))\n- Add support for deprecated Tabs component [\\#3214](https://github.com/aksonov/react-native-router-flux/pull/3214) ([daviscabral](https://github.com/daviscabral))\n- 4.0.2-dev and CHANGELOG update [\\#3211](https://github.com/aksonov/react-native-router-flux/pull/3211) ([daviscabral](https://github.com/daviscabral))\n- Add 'ReduxExample' to .npmignore [\\#3210](https://github.com/aksonov/react-native-router-flux/pull/3210) ([dextermb](https://github.com/dextermb))\n- hotfix: Example, ReduxExample and depencies fixes for Android [\\#3195](https://github.com/aksonov/react-native-router-flux/pull/3195) ([daviscabral](https://github.com/daviscabral))\n- Added indicatorStyle to 'Tabs' props. [\\#3192](https://github.com/aksonov/react-native-router-flux/pull/3192) ([AkshatGiri](https://github.com/AkshatGiri))\n- Fixes push to pile scenes instead of navigate [\\#3190](https://github.com/aksonov/react-native-router-flux/pull/3190) ([daviscabral](https://github.com/daviscabral))\n- Fix circleci build failed [\\#3183](https://github.com/aksonov/react-native-router-flux/pull/3183) ([blackbing](https://github.com/blackbing))\n- Upgrade react-navigation@2.11.2 [\\#3179](https://github.com/aksonov/react-native-router-flux/pull/3179) ([Agby](https://github.com/Agby))\n\n## [4.0.1](https://github.com/aksonov/react-native-router-flux/tree/4.0.1) (2018-08-10)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/4.0.0...4.0.1)\n\n**Closed issues:**\n\n- Transition history using this same scene but with other parameters [\\#3166](https://github.com/aksonov/react-native-router-flux/issues/3166)\n- Issue with flashing on load of scene [\\#3139](https://github.com/aksonov/react-native-router-flux/issues/3139)\n\n## [4.0.0](https://github.com/aksonov/react-native-router-flux/tree/4.0.0) (2018-08-10)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/4.0.0-beta.40...4.0.0)\n\n**Implemented enhancements:**\n\n- Adopt RNRF for latest React Navigation \\(v2+\\) [\\#3068](https://github.com/aksonov/react-native-router-flux/issues/3068)\n\n**Closed issues:**\n\n- A new feature about pop method. [\\#3164](https://github.com/aksonov/react-native-router-flux/issues/3164)\n- Error when upgrading from beta.27 to beta.41 [\\#3162](https://github.com/aksonov/react-native-router-flux/issues/3162)\n- Can't render icon in the button in NavBar [\\#3161](https://github.com/aksonov/react-native-router-flux/issues/3161)\n- Actions.jump\\(\\) not working as it is supposed to [\\#3160](https://github.com/aksonov/react-native-router-flux/issues/3160)\n- When using navTransparent on iOS, the navbar area is non-responsive [\\#3159](https://github.com/aksonov/react-native-router-flux/issues/3159)\n- LinkingManager.getInitialURL [\\#3158](https://github.com/aksonov/react-native-router-flux/issues/3158)\n- deep linking on android not working? [\\#3157](https://github.com/aksonov/react-native-router-flux/issues/3157)\n- Navbar glitch on previous scene during transition while using custom navbar [\\#3156](https://github.com/aksonov/react-native-router-flux/issues/3156)\n- Tabs & Custom Transition [\\#3155](https://github.com/aksonov/react-native-router-flux/issues/3155)\n- Tab navigation mounting any screens with a large delay [\\#3154](https://github.com/aksonov/react-native-router-flux/issues/3154)\n- Add a FAB that would be visible on specific scenes  [\\#3151](https://github.com/aksonov/react-native-router-flux/issues/3151)\n- How to hide, dismiss keyboard on every navigation change? [\\#3148](https://github.com/aksonov/react-native-router-flux/issues/3148)\n- DefaultRenderer and navigationState not working [\\#3146](https://github.com/aksonov/react-native-router-flux/issues/3146)\n- Cannot style bottom border of active tab [\\#3145](https://github.com/aksonov/react-native-router-flux/issues/3145)\n- \\[Drawer\\] Horizontal ScrollView inside Drawer [\\#3144](https://github.com/aksonov/react-native-router-flux/issues/3144)\n- params is undefined in custom Tabbar [\\#3137](https://github.com/aksonov/react-native-router-flux/issues/3137)\n- Actions.pop can't work in the screen on the same screen [\\#3136](https://github.com/aksonov/react-native-router-flux/issues/3136)\n- Is there anyway for passing props from drawer to nested scene? [\\#3132](https://github.com/aksonov/react-native-router-flux/issues/3132)\n- Tabs is RTL Devices [\\#3129](https://github.com/aksonov/react-native-router-flux/issues/3129)\n- How to remove Scene From history stack. [\\#3127](https://github.com/aksonov/react-native-router-flux/issues/3127)\n- Back button action [\\#3126](https://github.com/aksonov/react-native-router-flux/issues/3126)\n- Reset parameters of a scene [\\#3125](https://github.com/aksonov/react-native-router-flux/issues/3125)\n- undefined is not a function \\(evaluating 'arr\\[typeOf Symbol === 'function'? Symbol.iterator:'@@iterator'\\]\\(\\)'\\) [\\#3123](https://github.com/aksonov/react-native-router-flux/issues/3123)\n- Keyboard will show up after calling Actions.reset\\(\\) from a scene containing Text Input [\\#3122](https://github.com/aksonov/react-native-router-flux/issues/3122)\n- Unable to Hook Into drawerClose Event [\\#3121](https://github.com/aksonov/react-native-router-flux/issues/3121)\n- popTo can't find scene [\\#3118](https://github.com/aksonov/react-native-router-flux/issues/3118)\n- undefined is not an object \\(evaluating '\\_reactNativeRouterFlux2.default.newScreen'\\) [\\#3117](https://github.com/aksonov/react-native-router-flux/issues/3117)\n- can't work with mobx [\\#3116](https://github.com/aksonov/react-native-router-flux/issues/3116)\n- How to keep drawer always open on tablet screens? [\\#3115](https://github.com/aksonov/react-native-router-flux/issues/3115)\n-  I would like to reload data when go back from Scene B to Scene A [\\#3113](https://github.com/aksonov/react-native-router-flux/issues/3113)\n- Duplicate scene when Actions.push to child in Stack or Scene group [\\#3112](https://github.com/aksonov/react-native-router-flux/issues/3112)\n- how can I add a local icon png in the Tab ?  [\\#3111](https://github.com/aksonov/react-native-router-flux/issues/3111)\n- delay back and refresh the current scene can lead to infinite loop.  [\\#3110](https://github.com/aksonov/react-native-router-flux/issues/3110)\n- Lightbox background not displaying the initial screen but displays a white background [\\#3109](https://github.com/aksonov/react-native-router-flux/issues/3109)\n- RNRF backAndroidHandler not work after calling RN BackHandler [\\#3107](https://github.com/aksonov/react-native-router-flux/issues/3107)\n- What is difference between react navigation library and react native router flux built on top of it? [\\#3106](https://github.com/aksonov/react-native-router-flux/issues/3106)\n- navbar background color animation is buggy with different background colors while navigating. [\\#3105](https://github.com/aksonov/react-native-router-flux/issues/3105)\n- There is no route defined for key when opening page second time [\\#3104](https://github.com/aksonov/react-native-router-flux/issues/3104)\n- Show bottom menu for scene which button is not present in menu [\\#3103](https://github.com/aksonov/react-native-router-flux/issues/3103)\n- Open multiple instances of one scene [\\#3101](https://github.com/aksonov/react-native-router-flux/issues/3101)\n- Multiple instances of Mobx in v4 [\\#3100](https://github.com/aksonov/react-native-router-flux/issues/3100)\n- Invariant Violation: View config not found for name RNSVGRect      [\\#3099](https://github.com/aksonov/react-native-router-flux/issues/3099)\n- Drawer's default scene Reloads Twice [\\#3096](https://github.com/aksonov/react-native-router-flux/issues/3096)\n- \\[mobx\\] Warning: there are multiple mobx instances active [\\#3093](https://github.com/aksonov/react-native-router-flux/issues/3093)\n- How do I insert a scene in Tabs, without placing it in the TabsBar? [\\#3092](https://github.com/aksonov/react-native-router-flux/issues/3092)\n- How to avoid opening the page two times [\\#3091](https://github.com/aksonov/react-native-router-flux/issues/3091)\n- Back Icon Does Not Display On Android [\\#3090](https://github.com/aksonov/react-native-router-flux/issues/3090)\n- guide on dynamic title, leftButton and rightButton? [\\#3089](https://github.com/aksonov/react-native-router-flux/issues/3089)\n- Slowly switching screens in Tabs component will not mount them [\\#3087](https://github.com/aksonov/react-native-router-flux/issues/3087)\n- Child scenes will not have working props [\\#3086](https://github.com/aksonov/react-native-router-flux/issues/3086)\n- \\_reactNativeRouterFlux.Actions.tab\\_4 is not a function [\\#3084](https://github.com/aksonov/react-native-router-flux/issues/3084)\n- How to hideTabBar animated  [\\#3080](https://github.com/aksonov/react-native-router-flux/issues/3080)\n- Should scenes that are not at the top of the stack be able to re-render as the main scene on redux store changes? [\\#3079](https://github.com/aksonov/react-native-router-flux/issues/3079)\n- router flux  tab bar in View template [\\#3077](https://github.com/aksonov/react-native-router-flux/issues/3077)\n- Custom NavBar animation looks weird in transition [\\#3075](https://github.com/aksonov/react-native-router-flux/issues/3075)\n- Title is not aligning to center [\\#3071](https://github.com/aksonov/react-native-router-flux/issues/3071)\n- Put specific scene on top of the stack [\\#3069](https://github.com/aksonov/react-native-router-flux/issues/3069)\n- Change the nav title without re-rendering [\\#3065](https://github.com/aksonov/react-native-router-flux/issues/3065)\n- Disable Swipe Gestures in Android \\(Scene\\) [\\#3062](https://github.com/aksonov/react-native-router-flux/issues/3062)\n- physical back on Android works weird after executing Linking.openURL [\\#3057](https://github.com/aksonov/react-native-router-flux/issues/3057)\n- Execute function before a tab is changed [\\#3056](https://github.com/aksonov/react-native-router-flux/issues/3056)\n- Provide API to disable Status bar height in Navigationbar [\\#3055](https://github.com/aksonov/react-native-router-flux/issues/3055)\n- empty default background used when transiting  [\\#3052](https://github.com/aksonov/react-native-router-flux/issues/3052)\n- Disable swipe back function [\\#3050](https://github.com/aksonov/react-native-router-flux/issues/3050)\n- type: ActionConst.RESET and Android back button [\\#3048](https://github.com/aksonov/react-native-router-flux/issues/3048)\n- LayoutAnimation interferes with tab navigation [\\#3042](https://github.com/aksonov/react-native-router-flux/issues/3042)\n- Request for multiple Router.uriPrefix and Scene.path values [\\#3040](https://github.com/aksonov/react-native-router-flux/issues/3040)\n- By default lazy prop = {true} on beta.31. Are the docs wrong or is this a bug? [\\#3039](https://github.com/aksonov/react-native-router-flux/issues/3039)\n- Can you add or remove Scenes from router based on platform [\\#3038](https://github.com/aksonov/react-native-router-flux/issues/3038)\n- undefined is not an object \\(evaluating'state.routes\\[childIndex\\]'\\) [\\#3029](https://github.com/aksonov/react-native-router-flux/issues/3029)\n- NavBar breaking KeyboardAvoidingView functionality [\\#3025](https://github.com/aksonov/react-native-router-flux/issues/3025)\n- isMounted is deprecated when using tab views [\\#3021](https://github.com/aksonov/react-native-router-flux/issues/3021)\n- how to reset stack on nested scenes in tabBar ? [\\#3019](https://github.com/aksonov/react-native-router-flux/issues/3019)\n- Sticky bar on the bottom [\\#3015](https://github.com/aksonov/react-native-router-flux/issues/3015)\n- How to make 2 tabs in the same Scene? [\\#2997](https://github.com/aksonov/react-native-router-flux/issues/2997)\n- Why reducer isn't called on initial screen? [\\#2996](https://github.com/aksonov/react-native-router-flux/issues/2996)\n- TabIcon doesn't work [\\#2994](https://github.com/aksonov/react-native-router-flux/issues/2994)\n- Removing multiple screens from stack [\\#2992](https://github.com/aksonov/react-native-router-flux/issues/2992)\n- Using default and custom NavBar together [\\#2982](https://github.com/aksonov/react-native-router-flux/issues/2982)\n- how to hide the icon from the tab bar of selected scenes [\\#2980](https://github.com/aksonov/react-native-router-flux/issues/2980)\n- Drawer Always show on iPad or tablet ? [\\#2971](https://github.com/aksonov/react-native-router-flux/issues/2971)\n- push multi Modal doesn't work [\\#2968](https://github.com/aksonov/react-native-router-flux/issues/2968)\n- Drawer and tabs slide conflict. [\\#2966](https://github.com/aksonov/react-native-router-flux/issues/2966)\n- Tabs can't hide navbar [\\#2964](https://github.com/aksonov/react-native-router-flux/issues/2964)\n- Update Mobx devDependencies to peerDependencies [\\#2960](https://github.com/aksonov/react-native-router-flux/issues/2960)\n- Passing props to nested tab scenes [\\#2957](https://github.com/aksonov/react-native-router-flux/issues/2957)\n- How to reset \\<Stack\\> from Tab on leave [\\#2950](https://github.com/aksonov/react-native-router-flux/issues/2950)\n- Navigation simply doesn't work [\\#2948](https://github.com/aksonov/react-native-router-flux/issues/2948)\n- Use PanResponder all Scene in router-flux [\\#2947](https://github.com/aksonov/react-native-router-flux/issues/2947)\n- Dinamic image in drawer bar Need Example [\\#2938](https://github.com/aksonov/react-native-router-flux/issues/2938)\n- How to refresh Tabs scene every time i switch tabs? [\\#2937](https://github.com/aksonov/react-native-router-flux/issues/2937)\n- Router showing old mounted views with old props when being re-launched in android [\\#2936](https://github.com/aksonov/react-native-router-flux/issues/2936)\n- Can't reset and pass props to children scenes under Tab nav [\\#2935](https://github.com/aksonov/react-native-router-flux/issues/2935)\n- \\[V4\\] Unable to access connected actions after migration [\\#2934](https://github.com/aksonov/react-native-router-flux/issues/2934)\n- TouchableNativeFeedback and ripple effect [\\#2933](https://github.com/aksonov/react-native-router-flux/issues/2933)\n- \\<Tabs\\> backToInitial and tabBarOnPress interaction [\\#2932](https://github.com/aksonov/react-native-router-flux/issues/2932)\n- Question: Drawer slide out from bottom [\\#2931](https://github.com/aksonov/react-native-router-flux/issues/2931)\n- Nested tabs are not working and Header is removed by nested tabs.  [\\#2929](https://github.com/aksonov/react-native-router-flux/issues/2929)\n- Actions.key not working [\\#2928](https://github.com/aksonov/react-native-router-flux/issues/2928)\n- When is it \"Safe\" to clear application state after calling reset or popTo [\\#2926](https://github.com/aksonov/react-native-router-flux/issues/2926)\n- Question: how do I apply a style to an individual Scene? [\\#2924](https://github.com/aksonov/react-native-router-flux/issues/2924)\n- Bottom tabbar icons not showing up  [\\#2923](https://github.com/aksonov/react-native-router-flux/issues/2923)\n- Typescript issue [\\#2922](https://github.com/aksonov/react-native-router-flux/issues/2922)\n- Multiple tabs with differents routes in the same component [\\#2921](https://github.com/aksonov/react-native-router-flux/issues/2921)\n- Pass Value from Drawer To \\<Scene in Drawer [\\#2919](https://github.com/aksonov/react-native-router-flux/issues/2919)\n- hideDrawerButton removes back button from child scenes [\\#2918](https://github.com/aksonov/react-native-router-flux/issues/2918)\n- Tab View looks weird on android \\(emulator\\) [\\#2917](https://github.com/aksonov/react-native-router-flux/issues/2917)\n- Provide better v4 redux integration docs [\\#2916](https://github.com/aksonov/react-native-router-flux/issues/2916)\n- Observed white flickering page transition to Scene with Tabs  [\\#2915](https://github.com/aksonov/react-native-router-flux/issues/2915)\n- Additional props not being passed to component when push is used to call scene [\\#2914](https://github.com/aksonov/react-native-router-flux/issues/2914)\n- Dynamic scenes? [\\#2911](https://github.com/aksonov/react-native-router-flux/issues/2911)\n- How to make Modal & Lighbox [\\#2910](https://github.com/aksonov/react-native-router-flux/issues/2910)\n- router-flux-blank-screen showing where initial screen should be [\\#2909](https://github.com/aksonov/react-native-router-flux/issues/2909)\n- Setting init to true on a Scene component doesn't remove back button [\\#2907](https://github.com/aksonov/react-native-router-flux/issues/2907)\n- Is there  a way to \"hide\" a scene but not \"pop\" a scene? [\\#2906](https://github.com/aksonov/react-native-router-flux/issues/2906)\n- Duplication scene. [\\#2905](https://github.com/aksonov/react-native-router-flux/issues/2905)\n- Search field in navigation bar [\\#2902](https://github.com/aksonov/react-native-router-flux/issues/2902)\n- Presenting some views as modal while others as normal from the same root view [\\#2899](https://github.com/aksonov/react-native-router-flux/issues/2899)\n- Functionality for popping multiple scenes and pushing a new scene [\\#2896](https://github.com/aksonov/react-native-router-flux/issues/2896)\n- Bottom navigation gets disappeared from the previous scene when the new one is pushed. [\\#2894](https://github.com/aksonov/react-native-router-flux/issues/2894)\n- Update react-navigation dependency to release version [\\#2893](https://github.com/aksonov/react-native-router-flux/issues/2893)\n- Updating state inside Static onRight\\(\\) or onLeft\\(\\) - undefined function error [\\#2891](https://github.com/aksonov/react-native-router-flux/issues/2891)\n- Tab bar background style properties not applied when tabBarPosition is 'top' [\\#2888](https://github.com/aksonov/react-native-router-flux/issues/2888)\n- Prop/State change of Parent is causing child components to Re-mount [\\#2886](https://github.com/aksonov/react-native-router-flux/issues/2886)\n- Navigations between Scene very very slow [\\#2885](https://github.com/aksonov/react-native-router-flux/issues/2885)\n- Removal of Scene Shadows by getSceneStyle is not applied [\\#2884](https://github.com/aksonov/react-native-router-flux/issues/2884)\n- Static leftButtonImage not working [\\#2883](https://github.com/aksonov/react-native-router-flux/issues/2883)\n- How to implement onRight function call on Scene component itself? [\\#2881](https://github.com/aksonov/react-native-router-flux/issues/2881)\n- How to delete the navigation's bottom line? [\\#2880](https://github.com/aksonov/react-native-router-flux/issues/2880)\n- Conditional for custom image on Drawer [\\#2874](https://github.com/aksonov/react-native-router-flux/issues/2874)\n- Android hardware back button unexpected behavior while using drawer when app coming to foreground from background. [\\#2873](https://github.com/aksonov/react-native-router-flux/issues/2873)\n- setParams in Tabs doesn't work [\\#2871](https://github.com/aksonov/react-native-router-flux/issues/2871)\n- Back button resizing [\\#2869](https://github.com/aksonov/react-native-router-flux/issues/2869)\n- TypeError: undefined is not a function \\(evaluating 'addListener'\\) with the new stable release of react-navigation \\(1.0.0\\) [\\#2865](https://github.com/aksonov/react-native-router-flux/issues/2865)\n- Pages before the page \"push\" need not be drawn [\\#2863](https://github.com/aksonov/react-native-router-flux/issues/2863)\n- Problem about pop and refresh [\\#2860](https://github.com/aksonov/react-native-router-flux/issues/2860)\n- Drawer Android double click [\\#2859](https://github.com/aksonov/react-native-router-flux/issues/2859)\n- Action.Jump crash app on ios device [\\#2857](https://github.com/aksonov/react-native-router-flux/issues/2857)\n- onEnter call action [\\#2847](https://github.com/aksonov/react-native-router-flux/issues/2847)\n- Lazy prop not working [\\#2846](https://github.com/aksonov/react-native-router-flux/issues/2846)\n- How to increase Gesture Response Distance of Drawer in v4 [\\#2844](https://github.com/aksonov/react-native-router-flux/issues/2844)\n- Actions.push with params not working with Drawer [\\#2843](https://github.com/aksonov/react-native-router-flux/issues/2843)\n- How to  disappears instantly narTab when user taps on TextInput box  [\\#2841](https://github.com/aksonov/react-native-router-flux/issues/2841)\n- navTransparent does't work well on android [\\#2834](https://github.com/aksonov/react-native-router-flux/issues/2834)\n- is it possible to show a component over the key guard [\\#2830](https://github.com/aksonov/react-native-router-flux/issues/2830)\n- Need to handle renderRightButton [\\#2829](https://github.com/aksonov/react-native-router-flux/issues/2829)\n- How to create a structure with Drawer, Tabbar [\\#2828](https://github.com/aksonov/react-native-router-flux/issues/2828)\n- Changing scene makes render methods be called multiple times for a single action, stacking up [\\#2827](https://github.com/aksonov/react-native-router-flux/issues/2827)\n- Root scene been reset on keyboard appears [\\#2826](https://github.com/aksonov/react-native-router-flux/issues/2826)\n- Issue on tabbar in react-native [\\#2825](https://github.com/aksonov/react-native-router-flux/issues/2825)\n- Render available scenes based on app state [\\#2824](https://github.com/aksonov/react-native-router-flux/issues/2824)\n- How to use indicator \\(\"loading\"\\) with RNRF v4 [\\#2821](https://github.com/aksonov/react-native-router-flux/issues/2821)\n- Hall of Fame on front page for Apps using RNRF in Production [\\#2820](https://github.com/aksonov/react-native-router-flux/issues/2820)\n- Setting Tab icon [\\#2819](https://github.com/aksonov/react-native-router-flux/issues/2819)\n- Can I use `react-native-router-flux` when I write an app with `Apollo Client +React Native +apollo-link-state + Relay`? [\\#2818](https://github.com/aksonov/react-native-router-flux/issues/2818)\n- onEnter to make Api call and update screen [\\#2815](https://github.com/aksonov/react-native-router-flux/issues/2815)\n- Stack behaving same as Scene [\\#2813](https://github.com/aksonov/react-native-router-flux/issues/2813)\n- Actions.refresh not working on hidden scene [\\#2812](https://github.com/aksonov/react-native-router-flux/issues/2812)\n- TabBar displaying above navbar [\\#2811](https://github.com/aksonov/react-native-router-flux/issues/2811)\n- How can I save redux state in onExit static function? [\\#2810](https://github.com/aksonov/react-native-router-flux/issues/2810)\n- Black background instead of transparent background [\\#2809](https://github.com/aksonov/react-native-router-flux/issues/2809)\n- tabBarOnPress has no docs for jump to index [\\#2805](https://github.com/aksonov/react-native-router-flux/issues/2805)\n- DRAW THE APP UNDER THE STATUS BAR [\\#2803](https://github.com/aksonov/react-native-router-flux/issues/2803)\n- navigationBarStyle: backgroundColor not correct when the app is in the background on Android [\\#2801](https://github.com/aksonov/react-native-router-flux/issues/2801)\n- can I reset two scenes [\\#2800](https://github.com/aksonov/react-native-router-flux/issues/2800)\n- TabIcon would load twice when rendering every time [\\#2796](https://github.com/aksonov/react-native-router-flux/issues/2796)\n- Reset stack however pass data between screens [\\#2795](https://github.com/aksonov/react-native-router-flux/issues/2795)\n- App hangs on use of Actions.refresh\\(\\) [\\#2791](https://github.com/aksonov/react-native-router-flux/issues/2791)\n- Can I prevent re-rendering? [\\#2789](https://github.com/aksonov/react-native-router-flux/issues/2789)\n- \\[Question\\] Why are invisible scenes back in the stack still rendered in iOS? [\\#2788](https://github.com/aksonov/react-native-router-flux/issues/2788)\n- Intermediate Tab's componentDidMount get called when switching tabs [\\#2786](https://github.com/aksonov/react-native-router-flux/issues/2786)\n- Drawer showing white line or border to left of the screen on some android phones [\\#2785](https://github.com/aksonov/react-native-router-flux/issues/2785)\n\n**Merged pull requests:**\n\n- Stating clear that component props can rely on parent props [\\#2970](https://github.com/aksonov/react-native-router-flux/pull/2970) ([igorsantos07](https://github.com/igorsantos07))\n- Using HTML link so doc table doesn't scroll horizontally [\\#2967](https://github.com/aksonov/react-native-router-flux/pull/2967) ([igorsantos07](https://github.com/igorsantos07))\n- Added titleStyle to the typescript definitions [\\#2946](https://github.com/aksonov/react-native-router-flux/pull/2946) ([maxencehenneron](https://github.com/maxencehenneron))\n- update types per documentation [\\#2942](https://github.com/aksonov/react-native-router-flux/pull/2942) ([jlemm45](https://github.com/jlemm45))\n- WIP: migration guide for DefaultRenderer [\\#2941](https://github.com/aksonov/react-native-router-flux/pull/2941) ([JNaftali](https://github.com/JNaftali))\n- Add CodeTriage badge to aksonov/react-native-router-flux [\\#2904](https://github.com/aksonov/react-native-router-flux/pull/2904) ([codetriage-readme-bot](https://github.com/codetriage-readme-bot))\n\n## [4.0.0-beta.40](https://github.com/aksonov/react-native-router-flux/tree/4.0.0-beta.40) (2018-08-08)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/4.0.0-beta.31...4.0.0-beta.40)\n\n**Fixed bugs:**\n\n- popTo causes an infinite loop when route is not found [\\#3026](https://github.com/aksonov/react-native-router-flux/issues/3026)\n- \\[react-native-router-flux v4.0.0-beta.27/npm module\\]PopTo method is not fixed [\\#2799](https://github.com/aksonov/react-native-router-flux/issues/2799)\n\n**Closed issues:**\n\n- `Actions.refresh` should also reset screen position? [\\#3152](https://github.com/aksonov/react-native-router-flux/issues/3152)\n- Mounting when not in focus causing API request issues with componentDidMount [\\#3149](https://github.com/aksonov/react-native-router-flux/issues/3149)\n- What is the way to view the current pages stack? [\\#3143](https://github.com/aksonov/react-native-router-flux/issues/3143)\n- Title prop and rightTitle are not aligning correctly. [\\#3140](https://github.com/aksonov/react-native-router-flux/issues/3140)\n- Receive the whole scene from navigation stack  [\\#3138](https://github.com/aksonov/react-native-router-flux/issues/3138)\n- ActionConst.BACK vs ActionConst.BACK\\_ACTION [\\#3134](https://github.com/aksonov/react-native-router-flux/issues/3134)\n- react-native upgrade 0.56.0 error for v3 version [\\#3133](https://github.com/aksonov/react-native-router-flux/issues/3133)\n- How to hide the descriptions of tabs ? [\\#3130](https://github.com/aksonov/react-native-router-flux/issues/3130)\n- Please add Migration guide from RNRF to React-Navigation [\\#3128](https://github.com/aksonov/react-native-router-flux/issues/3128)\n- Fatal Exception: com.facebook.react.common.JavascriptException: TypeError: undefined is not an object \\(evaluating 'r.default'\\) [\\#3124](https://github.com/aksonov/react-native-router-flux/issues/3124)\n- Very confused about the lightbox... [\\#3120](https://github.com/aksonov/react-native-router-flux/issues/3120)\n- renderRightButton Actions.refresh\\(\\) not working [\\#3119](https://github.com/aksonov/react-native-router-flux/issues/3119)\n- please update to react-navigationV2,thx [\\#3108](https://github.com/aksonov/react-native-router-flux/issues/3108)\n-    Requiring unknown module \"780\".If you are sure the module is there, try restarting Metro Bundler. You may also want to run `yarn`, or `npm install` \\(depending on your environment\\).  [\\#3098](https://github.com/aksonov/react-native-router-flux/issues/3098)\n- Mobx array length not changing in scene in stack [\\#3097](https://github.com/aksonov/react-native-router-flux/issues/3097)\n- Backhandler supplied to Router not working properly [\\#3095](https://github.com/aksonov/react-native-router-flux/issues/3095)\n- router flux installation [\\#3094](https://github.com/aksonov/react-native-router-flux/issues/3094)\n- Going from one screen to the home screen does not work [\\#3088](https://github.com/aksonov/react-native-router-flux/issues/3088)\n- Erro: \\[react-native-router-flux\\] Router should contain only one scene, please wrap you scenes with root Scene [\\#3085](https://github.com/aksonov/react-native-router-flux/issues/3085)\n- Deep Linking is not working [\\#3083](https://github.com/aksonov/react-native-router-flux/issues/3083)\n- Problem installing flux router \\(code ENOGIT\\) [\\#3082](https://github.com/aksonov/react-native-router-flux/issues/3082)\n- App Goes Back To Initial Route On Hot Module Reload [\\#3081](https://github.com/aksonov/react-native-router-flux/issues/3081)\n- How to configure scenes correctly when using Drawer? [\\#3078](https://github.com/aksonov/react-native-router-flux/issues/3078)\n- Is it possible to \"curry\" \\<Scene\\>, \\<Drawer\\>, \\<Tabs\\>, maybe others? [\\#3076](https://github.com/aksonov/react-native-router-flux/issues/3076)\n- Trouble handling android hardware back button [\\#3074](https://github.com/aksonov/react-native-router-flux/issues/3074)\n- Cannot pass props through Actions.\\<scenekey\\>\\({\\<propKey\\>: \\<propValue\\>}\\) [\\#3073](https://github.com/aksonov/react-native-router-flux/issues/3073)\n- Question: is there anyway to make a subheader with this plugin? [\\#3072](https://github.com/aksonov/react-native-router-flux/issues/3072)\n- android page jump way? [\\#3070](https://github.com/aksonov/react-native-router-flux/issues/3070)\n- Can't navigate to other stack when not at inital scene. [\\#3067](https://github.com/aksonov/react-native-router-flux/issues/3067)\n- How to blur the background of the drawer while having some transparency? [\\#3066](https://github.com/aksonov/react-native-router-flux/issues/3066)\n- Weird stack behavior. Scene disappears right after pushing it, but then reappears after next push. [\\#3064](https://github.com/aksonov/react-native-router-flux/issues/3064)\n- Rerender router based on boolean auth flag [\\#3063](https://github.com/aksonov/react-native-router-flux/issues/3063)\n- Unable to switch between screens [\\#3061](https://github.com/aksonov/react-native-router-flux/issues/3061)\n- Error when changing scenes on login - There is no route defined for key [\\#3059](https://github.com/aksonov/react-native-router-flux/issues/3059)\n- How to hide tabbar item in tabs [\\#3058](https://github.com/aksonov/react-native-router-flux/issues/3058)\n- Is this lib still supported to work with react-navigation 2.0 [\\#3053](https://github.com/aksonov/react-native-router-flux/issues/3053)\n- Best Practice Using Router/Scene/Modal \\(Not an issue\\) [\\#3051](https://github.com/aksonov/react-native-router-flux/issues/3051)\n- The props is not working. I can not pass the props. [\\#3049](https://github.com/aksonov/react-native-router-flux/issues/3049)\n- Update changelog [\\#3047](https://github.com/aksonov/react-native-router-flux/issues/3047)\n- Show Drawer's nav bar when drawer is open. [\\#3046](https://github.com/aksonov/react-native-router-flux/issues/3046)\n- default BackHandler from child \\<Scene\\> is stacked on top of root BackHandler from \\<Drawer\\> causing problems with drawer's state management [\\#3045](https://github.com/aksonov/react-native-router-flux/issues/3045)\n- How to access child \\<Scene\\> props from parent's tabBarComponent? [\\#3044](https://github.com/aksonov/react-native-router-flux/issues/3044)\n- How add button on tab bar to open [\\#3041](https://github.com/aksonov/react-native-router-flux/issues/3041)\n- can i use v3 with latest react native \\(55\\)and react\\(16.3\\)  [\\#3037](https://github.com/aksonov/react-native-router-flux/issues/3037)\n- \\[question\\] popN\\(...\\) functionality? [\\#3036](https://github.com/aksonov/react-native-router-flux/issues/3036)\n- TypeError:undefined is not a function \\(evaluating 'addListener'\\) [\\#3033](https://github.com/aksonov/react-native-router-flux/issues/3033)\n- Standalone TabBar by passing navigation props doesnt work [\\#3030](https://github.com/aksonov/react-native-router-flux/issues/3030)\n- xcode can't be installed  [\\#3027](https://github.com/aksonov/react-native-router-flux/issues/3027)\n- Error: There is no route for key home . must be one of drawer [\\#3024](https://github.com/aksonov/react-native-router-flux/issues/3024)\n- React Native \\(in iOS\\): undefined is not an object \\(evaluating '\\_navigationStore2.default.router.getStateForAction'\\) [\\#3023](https://github.com/aksonov/react-native-router-flux/issues/3023)\n- Most Stable/Recommended version to use? [\\#3022](https://github.com/aksonov/react-native-router-flux/issues/3022)\n- How to Change State of Previous Scene [\\#3020](https://github.com/aksonov/react-native-router-flux/issues/3020)\n- Support accessibilityLabel and testId for testing [\\#3018](https://github.com/aksonov/react-native-router-flux/issues/3018)\n- Cannot read property 'clone' of undefined [\\#3017](https://github.com/aksonov/react-native-router-flux/issues/3017)\n- onEnter problem of use [\\#3016](https://github.com/aksonov/react-native-router-flux/issues/3016)\n- Open Drawer dynamically [\\#3014](https://github.com/aksonov/react-native-router-flux/issues/3014)\n- All tabs loaded at once on using lazy property too. [\\#3013](https://github.com/aksonov/react-native-router-flux/issues/3013)\n- what function be execute,when navigationIcon onClick? [\\#3011](https://github.com/aksonov/react-native-router-flux/issues/3011)\n- Can't refresh renderBackButton [\\#3010](https://github.com/aksonov/react-native-router-flux/issues/3010)\n- Example app doesnt run [\\#3006](https://github.com/aksonov/react-native-router-flux/issues/3006)\n- Cannot read property 'map' of undefined [\\#3004](https://github.com/aksonov/react-native-router-flux/issues/3004)\n- Switch/selector equivalent for v4 [\\#3003](https://github.com/aksonov/react-native-router-flux/issues/3003)\n- \\<Tabs\\>Properties passing to children \\<Scene\\>'s [\\#2991](https://github.com/aksonov/react-native-router-flux/issues/2991)\n- how to make a custome style Scene component? [\\#2990](https://github.com/aksonov/react-native-router-flux/issues/2990)\n- Drawer child scene popping up as a Modal when its props are refreshed [\\#2989](https://github.com/aksonov/react-native-router-flux/issues/2989)\n- onEnter not always fired [\\#2987](https://github.com/aksonov/react-native-router-flux/issues/2987)\n- Chaneg Event for Tabs click [\\#2986](https://github.com/aksonov/react-native-router-flux/issues/2986)\n- Displaying wrong screen [\\#2985](https://github.com/aksonov/react-native-router-flux/issues/2985)\n- How to change root  ? [\\#2983](https://github.com/aksonov/react-native-router-flux/issues/2983)\n- getCurrentRoutes api in v4? [\\#2978](https://github.com/aksonov/react-native-router-flux/issues/2978)\n- Examples Broken [\\#2976](https://github.com/aksonov/react-native-router-flux/issues/2976)\n- Cannot Toggle 'SwipeEnabled' Property, Causes Crash [\\#2973](https://github.com/aksonov/react-native-router-flux/issues/2973)\n- Parent scene with no component generates \"ghost\" screen? [\\#2972](https://github.com/aksonov/react-native-router-flux/issues/2972)\n- StatusBar Text Color [\\#2882](https://github.com/aksonov/react-native-router-flux/issues/2882)\n- Hide Drawer for only login page [\\#2861](https://github.com/aksonov/react-native-router-flux/issues/2861)\n- Actions.create + redux + connect state = Red screen [\\#2856](https://github.com/aksonov/react-native-router-flux/issues/2856)\n- Adding to the stack without navigating to the page [\\#2848](https://github.com/aksonov/react-native-router-flux/issues/2848)\n- iPhone X: Remove the internal shadow of react-native-stack-navigator when using safearea [\\#2836](https://github.com/aksonov/react-native-router-flux/issues/2836)\n- deep linking - error [\\#2787](https://github.com/aksonov/react-native-router-flux/issues/2787)\n\n**Merged pull requests:**\n\n- Navigation and replace restored [\\#3147](https://github.com/aksonov/react-native-router-flux/pull/3147) ([daviscabral](https://github.com/daviscabral))\n- Babel v7, ESlint fixes, React/React Navigation upgrades, mobx removed [\\#3142](https://github.com/aksonov/react-native-router-flux/pull/3142) ([daviscabral](https://github.com/daviscabral))\n- migration to react-navigation v2.x \\(\\#3068\\) [\\#3141](https://github.com/aksonov/react-native-router-flux/pull/3141) ([aksonov](https://github.com/aksonov))\n- Link to docs and example app in README [\\#3135](https://github.com/aksonov/react-native-router-flux/pull/3135) ([supremebeing7](https://github.com/supremebeing7))\n- popTo causes an infinite loop when route is not found \\(as seen on \\#3026\\) [\\#3043](https://github.com/aksonov/react-native-router-flux/pull/3043) ([daviscabral](https://github.com/daviscabral))\n- Fixed a Double Negative [\\#3035](https://github.com/aksonov/react-native-router-flux/pull/3035) ([JediahDizon](https://github.com/JediahDizon))\n- migrate mobx to peer and dev dependencies [\\#2979](https://github.com/aksonov/react-native-router-flux/pull/2979) ([heralight](https://github.com/heralight))\n- Update API.md: add upperCaseLabel in Tabs [\\#2925](https://github.com/aksonov/react-native-router-flux/pull/2925) ([MaxInMoon](https://github.com/MaxInMoon))\n\n## [4.0.0-beta.31](https://github.com/aksonov/react-native-router-flux/tree/4.0.0-beta.31) (2018-05-14)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/4.0.0-beta.27...4.0.0-beta.31)\n\n**Closed issues:**\n\n- Example App: TypeError: Cannot read property 'routeName' of undefined [\\#3028](https://github.com/aksonov/react-native-router-flux/issues/3028)\n- evaluating addListner [\\#3008](https://github.com/aksonov/react-native-router-flux/issues/3008)\n- Fixed header when switching tabs  [\\#3007](https://github.com/aksonov/react-native-router-flux/issues/3007)\n- Cannot pass params to screens on navigate [\\#3005](https://github.com/aksonov/react-native-router-flux/issues/3005)\n- How to set function of onRight from another screen on scene router [\\#3002](https://github.com/aksonov/react-native-router-flux/issues/3002)\n- Error: Route 'scarlet' should declare a screen. For example:  import MyScreen from './MyScreen'; ... scarlet: {   screen: MyScreen, } [\\#3001](https://github.com/aksonov/react-native-router-flux/issues/3001)\n- Android hardware return key sometimes does not work [\\#2995](https://github.com/aksonov/react-native-router-flux/issues/2995)\n- Actions.replace have a problem [\\#2993](https://github.com/aksonov/react-native-router-flux/issues/2993)\n- Tab Icons not showing in 0.54.2 [\\#2988](https://github.com/aksonov/react-native-router-flux/issues/2988)\n- Help to create a custom tab fixed between screens [\\#2984](https://github.com/aksonov/react-native-router-flux/issues/2984)\n- Icons for Tabs not showing on React Native 0.54.4 [\\#2981](https://github.com/aksonov/react-native-router-flux/issues/2981)\n- the example code is still v3? [\\#2977](https://github.com/aksonov/react-native-router-flux/issues/2977)\n- problem with Actions.pop ,, send me to initial Scene [\\#2975](https://github.com/aksonov/react-native-router-flux/issues/2975)\n-  Jump from the native page to the specified RN page [\\#2974](https://github.com/aksonov/react-native-router-flux/issues/2974)\n- Replace functionality issue [\\#2969](https://github.com/aksonov/react-native-router-flux/issues/2969)\n- Possible Unhandled Promise Rejection \\(id: 0\\): TypeError: undefined is not an object \\(evaluating 'resetAction.actions.map'\\) [\\#2965](https://github.com/aksonov/react-native-router-flux/issues/2965)\n- Drawer navbar duplicating when transition takes place [\\#2963](https://github.com/aksonov/react-native-router-flux/issues/2963)\n- Actions.replace \\(\\) not working on beta 28 version [\\#2962](https://github.com/aksonov/react-native-router-flux/issues/2962)\n- Hide a tab [\\#2961](https://github.com/aksonov/react-native-router-flux/issues/2961)\n- how pass data from component to title [\\#2959](https://github.com/aksonov/react-native-router-flux/issues/2959)\n- Actions.refs.SCREEN\\_NAME doesn't work [\\#2958](https://github.com/aksonov/react-native-router-flux/issues/2958)\n- Navigating to scenes completely stops working after changing unrelated packages [\\#2955](https://github.com/aksonov/react-native-router-flux/issues/2955)\n- Is there a way to use origin react-navigation Stack or Tab navigator? [\\#2954](https://github.com/aksonov/react-native-router-flux/issues/2954)\n- Disable Transition\\(sliding\\) animation while navigating between Scenes inside tabs [\\#2953](https://github.com/aksonov/react-native-router-flux/issues/2953)\n- in screen1, setState not triggered after moving to screen 2 and  return to it [\\#2952](https://github.com/aksonov/react-native-router-flux/issues/2952)\n- Custom tabs icon in RN 0.54 [\\#2951](https://github.com/aksonov/react-native-router-flux/issues/2951)\n- My hidden drawer navbar appears when I'm navigating scenes  [\\#2949](https://github.com/aksonov/react-native-router-flux/issues/2949)\n- Hardware back button is behaving differently in release build and debug build. [\\#2945](https://github.com/aksonov/react-native-router-flux/issues/2945)\n- Change the navbar Background color Dynamically [\\#2944](https://github.com/aksonov/react-native-router-flux/issues/2944)\n- How to pass props to Actions.replace? [\\#2943](https://github.com/aksonov/react-native-router-flux/issues/2943)\n- Add press action on  headerTitle [\\#2940](https://github.com/aksonov/react-native-router-flux/issues/2940)\n- Dynamic Tab Components? Seems to only load first tab component.. Example does it all with same Component [\\#2939](https://github.com/aksonov/react-native-router-flux/issues/2939)\n- \\<Scene/\\> {duration} is invalid [\\#2920](https://github.com/aksonov/react-native-router-flux/issues/2920)\n- Tabs section under the navbar. [\\#2913](https://github.com/aksonov/react-native-router-flux/issues/2913)\n- How to show a toast view and has no effect for scene interaction? [\\#2912](https://github.com/aksonov/react-native-router-flux/issues/2912)\n- Duplicate navbar after upgrade [\\#2908](https://github.com/aksonov/react-native-router-flux/issues/2908)\n- Android: scenes transition vertically instead of horizontally [\\#2903](https://github.com/aksonov/react-native-router-flux/issues/2903)\n- Incompatible receiver, Set required! [\\#2901](https://github.com/aksonov/react-native-router-flux/issues/2901)\n- Anyway to change the lineBreakMode in Scene? [\\#2900](https://github.com/aksonov/react-native-router-flux/issues/2900)\n- Change the navigationBarStyle dynamically [\\#2898](https://github.com/aksonov/react-native-router-flux/issues/2898)\n- Undefined is not a function \\(evaluating 'addListener'\\)  [\\#2897](https://github.com/aksonov/react-native-router-flux/issues/2897)\n- Problem: All tabs setting same title & One navigation bar for all tabs [\\#2895](https://github.com/aksonov/react-native-router-flux/issues/2895)\n- Support `showIcon` property for Scene Tabs [\\#2892](https://github.com/aksonov/react-native-router-flux/issues/2892)\n- Router doesn't get rendered on screen - Android [\\#2889](https://github.com/aksonov/react-native-router-flux/issues/2889)\n- Drawer close error [\\#2887](https://github.com/aksonov/react-native-router-flux/issues/2887)\n- Jump to screen with no animation [\\#2879](https://github.com/aksonov/react-native-router-flux/issues/2879)\n- goBack or pop not work in first time [\\#2878](https://github.com/aksonov/react-native-router-flux/issues/2878)\n- TypeError: undefined is not a function \\(evaluating 'addListener'\\) [\\#2876](https://github.com/aksonov/react-native-router-flux/issues/2876)\n- How to set Drawer Menu Transparent? [\\#2875](https://github.com/aksonov/react-native-router-flux/issues/2875)\n- getTitle stills retrun a title  [\\#2872](https://github.com/aksonov/react-native-router-flux/issues/2872)\n- I need to display image \\(loader\\) on button click in React-Native [\\#2870](https://github.com/aksonov/react-native-router-flux/issues/2870)\n- Action.pop call without trigger [\\#2868](https://github.com/aksonov/react-native-router-flux/issues/2868)\n- Multiple iOS URL types cause deep link parse to be crashed [\\#2867](https://github.com/aksonov/react-native-router-flux/issues/2867)\n- Before going to other scene how to check loggedIn or not. [\\#2864](https://github.com/aksonov/react-native-router-flux/issues/2864)\n- Action.refresh not working second time for current screen. [\\#2862](https://github.com/aksonov/react-native-router-flux/issues/2862)\n- iOS landscape tabbar bug [\\#2858](https://github.com/aksonov/react-native-router-flux/issues/2858)\n- Double header after clicking on scene outside drawer [\\#2855](https://github.com/aksonov/react-native-router-flux/issues/2855)\n- getting error on type=\"replace\" [\\#2854](https://github.com/aksonov/react-native-router-flux/issues/2854)\n- Keep the data in a component loaded? [\\#2852](https://github.com/aksonov/react-native-router-flux/issues/2852)\n- Actions.pop\\({refresh:{update:true}\\) The current page will be overloaded [\\#2850](https://github.com/aksonov/react-native-router-flux/issues/2850)\n- How to kill an activity by pressing any button in React-Native using Router-Flux???? [\\#2849](https://github.com/aksonov/react-native-router-flux/issues/2849)\n- how to install the stable version ? [\\#2845](https://github.com/aksonov/react-native-router-flux/issues/2845)\n- How close Lightbox by click backgound Scene? [\\#2842](https://github.com/aksonov/react-native-router-flux/issues/2842)\n- Can't navigate to new Scene [\\#2840](https://github.com/aksonov/react-native-router-flux/issues/2840)\n- Actions.pop\\(\\) not working. [\\#2839](https://github.com/aksonov/react-native-router-flux/issues/2839)\n- disable transition animation for a specific scene [\\#2838](https://github.com/aksonov/react-native-router-flux/issues/2838)\n- Actions.replace\\('Scene'\\) does not work. [\\#2837](https://github.com/aksonov/react-native-router-flux/issues/2837)\n- Route 'key0' should declare a screen. For example [\\#2835](https://github.com/aksonov/react-native-router-flux/issues/2835)\n- Double nav bar when using drawer [\\#2833](https://github.com/aksonov/react-native-router-flux/issues/2833)\n- Its possible create new route inside a component? [\\#2832](https://github.com/aksonov/react-native-router-flux/issues/2832)\n- App Hanging on Actions.\\[key\\]/Actions.pop\\(\\) [\\#2831](https://github.com/aksonov/react-native-router-flux/issues/2831)\n- Replace related issue in React-Native [\\#2823](https://github.com/aksonov/react-native-router-flux/issues/2823)\n- Is it possible to open a modal from tab bar? [\\#2822](https://github.com/aksonov/react-native-router-flux/issues/2822)\n- Strange behavior in back button and drawer after focus and unfocus the textinput in Example App [\\#2817](https://github.com/aksonov/react-native-router-flux/issues/2817)\n- Pressing the back button of Android in \\<Tabs/\\> minimized the application [\\#2816](https://github.com/aksonov/react-native-router-flux/issues/2816)\n- Change pressColor and pressOpacity of React Navigation Tabs do nothing [\\#2814](https://github.com/aksonov/react-native-router-flux/issues/2814)\n- undefined is not an object \\(evaluating 'resetAction.actions.map'\\) [\\#2808](https://github.com/aksonov/react-native-router-flux/issues/2808)\n- onEnter can trigger but onExit can not [\\#2807](https://github.com/aksonov/react-native-router-flux/issues/2807)\n- react-native-router-flux back button shows top [\\#2806](https://github.com/aksonov/react-native-router-flux/issues/2806)\n- ActionConst.REPLACE breaks [\\#2804](https://github.com/aksonov/react-native-router-flux/issues/2804)\n- Actions.currentScene is prefixed with an underscore for Scenes inside of Tabs [\\#2802](https://github.com/aksonov/react-native-router-flux/issues/2802)\n- How to navigate properly between Tabs when providing a React.Component [\\#2798](https://github.com/aksonov/react-native-router-flux/issues/2798)\n- dynamic call Scene [\\#2797](https://github.com/aksonov/react-native-router-flux/issues/2797)\n- Actions.SCENE\\(\\) re rendering all visited Scene [\\#2794](https://github.com/aksonov/react-native-router-flux/issues/2794)\n- Help With Drawer Menu [\\#2793](https://github.com/aksonov/react-native-router-flux/issues/2793)\n- Unable to pass function as a prop down to scene  [\\#2790](https://github.com/aksonov/react-native-router-flux/issues/2790)\n\n**Merged pull requests:**\n\n- Add listeners to navigation \\(as part of react-navigation 1.0.0 breaking changes\\) [\\#3032](https://github.com/aksonov/react-native-router-flux/pull/3032) ([daviscabral](https://github.com/daviscabral))\n- Fixed https://github.com/aksonov/react-native-router-flux/issues/2867 [\\#3009](https://github.com/aksonov/react-native-router-flux/pull/3009) ([EvianZhow](https://github.com/EvianZhow))\n- Add \"none\" to type HeaderModeType. [\\#2998](https://github.com/aksonov/react-native-router-flux/pull/2998) ([charles-salmon](https://github.com/charles-salmon))\n- Update API.md to include rightButtonStyle in scene props [\\#2877](https://github.com/aksonov/react-native-router-flux/pull/2877) ([noahhayes](https://github.com/noahhayes))\n- Compatibility with RN 0.52.1 for RNRF v3 [\\#2853](https://github.com/aksonov/react-native-router-flux/pull/2853) ([DavidPineda](https://github.com/DavidPineda))\n- Move drawerLockMode prop up to the scene API documentation. [\\#2792](https://github.com/aksonov/react-native-router-flux/pull/2792) ([mdcone](https://github.com/mdcone))\n\n## [4.0.0-beta.27](https://github.com/aksonov/react-native-router-flux/tree/4.0.0-beta.27) (2018-01-05)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/4.0.0-beta.25...4.0.0-beta.27)\n\n## [4.0.0-beta.25](https://github.com/aksonov/react-native-router-flux/tree/4.0.0-beta.25) (2017-12-29)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/4.0.0-beta.24...4.0.0-beta.25)\n\n## [4.0.0-beta.24](https://github.com/aksonov/react-native-router-flux/tree/4.0.0-beta.24) (2017-11-14)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/4.0.0-beta.23...4.0.0-beta.24)\n\n# Change Log\n\n## [4.0.0-beta.23](https://github.com/aksonov/react-native-router-flux/tree/4.0.0-beta.23) (2017-11-08)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/4.0.0-beta.22...4.0.0-beta.23)\n\n**Implemented enhancements:**\n\n- Is it possible to reset child stack only? [\\#2317](https://github.com/aksonov/react-native-router-flux/issues/2317)\n\n**Closed issues:**\n\n- Nested scene + navbar ? [\\#2586](https://github.com/aksonov/react-native-router-flux/issues/2586)\n- eval of \"Action.key\\(\\)\" not working. [\\#2582](https://github.com/aksonov/react-native-router-flux/issues/2582)\n- Performance of exiting modal is not good as official Modal  [\\#2581](https://github.com/aksonov/react-native-router-flux/issues/2581)\n- Tabs rendering scenes in all Stack [\\#2568](https://github.com/aksonov/react-native-router-flux/issues/2568)\n- Lightbox not rendered on top of initial scene \\(e.g not transparent\\) [\\#2553](https://github.com/aksonov/react-native-router-flux/issues/2553)\n- Maximum call stack exceeded when closing drawer [\\#2542](https://github.com/aksonov/react-native-router-flux/issues/2542)\n- How to customize drawer button in routerFlux 4.0 [\\#2538](https://github.com/aksonov/react-native-router-flux/issues/2538)\n- Unexpected margin/padding on the top of the page [\\#2536](https://github.com/aksonov/react-native-router-flux/issues/2536)\n- Navigate directly to nested scenes while preserving the back button scene hierarchy [\\#2529](https://github.com/aksonov/react-native-router-flux/issues/2529)\n- Usage of NON-static onEnter / onExit within component replacing componentDidMount / componentDidUnmount [\\#2528](https://github.com/aksonov/react-native-router-flux/issues/2528)\n- \\[bug/question HOWTO\\] Transition from TabBar \\(without NavBar\\) to scene with NavBar [\\#2527](https://github.com/aksonov/react-native-router-flux/issues/2527)\n- No swipe back gesture in V4 [\\#2525](https://github.com/aksonov/react-native-router-flux/issues/2525)\n- error on scene with redux [\\#2523](https://github.com/aksonov/react-native-router-flux/issues/2523)\n- TypeError: undefined is not a function this.\\_children\\[typeof Symbol === 'function'? Symbol.iterator: '@@iterator'\\]\\(\\)'\\) [\\#2520](https://github.com/aksonov/react-native-router-flux/issues/2520)\n- Cannot read property 'string' of undefined [\\#2517](https://github.com/aksonov/react-native-router-flux/issues/2517)\n- Scene props are not changing when pressing onRight and calling Actions.refresh\\(\\)  [\\#2514](https://github.com/aksonov/react-native-router-flux/issues/2514)\n- How can I manipulate 2 different scenes on a single screen? [\\#2513](https://github.com/aksonov/react-native-router-flux/issues/2513)\n- \\[BUG\\] navigation.setParams stopped working [\\#2509](https://github.com/aksonov/react-native-router-flux/issues/2509)\n- Unable to start app - RN v0.49.3 [\\#2507](https://github.com/aksonov/react-native-router-flux/issues/2507)\n- Help needed with multiple drawers on each page. [\\#2506](https://github.com/aksonov/react-native-router-flux/issues/2506)\n- \\[NAVBAR\\] NavBarTitleImage not centred with backButtonImage on Android [\\#2505](https://github.com/aksonov/react-native-router-flux/issues/2505)\n- Not able to navigate to same screen from same screen in react-router flux [\\#2504](https://github.com/aksonov/react-native-router-flux/issues/2504)\n-  the question is  how can i  let the children scenes will have right-to-left  animation on android? [\\#2502](https://github.com/aksonov/react-native-router-flux/issues/2502)\n- popTo\\('Scene Key'\\) does not work on a single page [\\#2501](https://github.com/aksonov/react-native-router-flux/issues/2501)\n- success handler not working \\(v4\\) [\\#2498](https://github.com/aksonov/react-native-router-flux/issues/2498)\n- Navigating just not doing anything [\\#2497](https://github.com/aksonov/react-native-router-flux/issues/2497)\n- Overlay navigation doesn't wrap my react-native-drawer anymore [\\#2496](https://github.com/aksonov/react-native-router-flux/issues/2496)\n- Minimize android app from initial screen not working [\\#2494](https://github.com/aksonov/react-native-router-flux/issues/2494)\n- Missing navigationBarStyle typing on Stack [\\#2493](https://github.com/aksonov/react-native-router-flux/issues/2493)\n- Actions transitions cannot be configured [\\#2490](https://github.com/aksonov/react-native-router-flux/issues/2490)\n- Super expression must either be null or a function, not undefined [\\#2488](https://github.com/aksonov/react-native-router-flux/issues/2488)\n- Going from tab through non-tabs back to different tab [\\#2486](https://github.com/aksonov/react-native-router-flux/issues/2486)\n- Drawer : `onEnter`, `onExit` or `open`...  [\\#2485](https://github.com/aksonov/react-native-router-flux/issues/2485)\n- Bad performance during orientation change with tabs [\\#2483](https://github.com/aksonov/react-native-router-flux/issues/2483)\n- Replace scene but use push/pop animation [\\#2476](https://github.com/aksonov/react-native-router-flux/issues/2476)\n- map next scenes [\\#2475](https://github.com/aksonov/react-native-router-flux/issues/2475)\n- how to leftAlign Left Image button on NavBar [\\#2471](https://github.com/aksonov/react-native-router-flux/issues/2471)\n- Keyboard disappears instantly when user taps on input [\\#2442](https://github.com/aksonov/react-native-router-flux/issues/2442)\n- How to use wrapBy with Redux Store? [\\#2423](https://github.com/aksonov/react-native-router-flux/issues/2423)\n- How to quit Android App？I used BackHandler [\\#2383](https://github.com/aksonov/react-native-router-flux/issues/2383)\n- Always show backbutton, and exit app on back.  [\\#2366](https://github.com/aksonov/react-native-router-flux/issues/2366)\n- How to give new title image in parameter when navigating new scene [\\#2363](https://github.com/aksonov/react-native-router-flux/issues/2363)\n\n**Merged pull requests:**\n\n- document Tabs animationEnabled property documentation [\\#2602](https://github.com/aksonov/react-native-router-flux/pull/2602) ([wodCZ](https://github.com/wodCZ))\n- Update link for open issues in CONTRIBUTING.md [\\#2597](https://github.com/aksonov/react-native-router-flux/pull/2597) ([clucasalcantara](https://github.com/clucasalcantara))\n- Upd deps: react-navigation to beta-15, rm RN-button, upd mobx & mobx-react [\\#2584](https://github.com/aksonov/react-native-router-flux/pull/2584) ([kesha-antonov](https://github.com/kesha-antonov))\n- Fixes \\#2496 [\\#2578](https://github.com/aksonov/react-native-router-flux/pull/2578) ([raynor85](https://github.com/raynor85))\n- add \"wrapBy\"  to RouterProps [\\#2577](https://github.com/aksonov/react-native-router-flux/pull/2577) ([Deantsui](https://github.com/Deantsui))\n- bind early. For faster render [\\#2574](https://github.com/aksonov/react-native-router-flux/pull/2574) ([kesha-antonov](https://github.com/kesha-antonov))\n- Fixed Example: next screen for tab1\\_1 of Tab \\#1 [\\#2570](https://github.com/aksonov/react-native-router-flux/pull/2570) ([PhoebePan](https://github.com/PhoebePan))\n- Update API.md [\\#2569](https://github.com/aksonov/react-native-router-flux/pull/2569) ([pmitche](https://github.com/pmitche))\n- Fix drawerPosition row for Drawer table [\\#2560](https://github.com/aksonov/react-native-router-flux/pull/2560) ([etorsuarezm](https://github.com/etorsuarezm))\n- Fix typo from `havigator`  to \\*navigator\\* [\\#2559](https://github.com/aksonov/react-native-router-flux/pull/2559) ([etorsuarezm](https://github.com/etorsuarezm))\n- \\[V3\\] Update react-native-experimental-navigation to new version with PropTypes fix [\\#2541](https://github.com/aksonov/react-native-router-flux/pull/2541) ([daviscabral](https://github.com/daviscabral))\n- Add PropTypes and update dependencies to work with react 16.0.0 [\\#2532](https://github.com/aksonov/react-native-router-flux/pull/2532) ([daviscabral](https://github.com/daviscabral))\n- \\[Fix\\] Router - sceneStyle must be View.propTypes.style [\\#2522](https://github.com/aksonov/react-native-router-flux/pull/2522) ([ovr](https://github.com/ovr))\n- Support ReactNavigation's drawerWidth property [\\#2515](https://github.com/aksonov/react-native-router-flux/pull/2515) ([whitecl](https://github.com/whitecl))\n- Render back button fix [\\#2512](https://github.com/aksonov/react-native-router-flux/pull/2512) ([onrige](https://github.com/onrige))\n- Back to initial tab scene [\\#2508](https://github.com/aksonov/react-native-router-flux/pull/2508) ([onrige](https://github.com/onrige))\n- Adding some typings to index.d.ts [\\#2500](https://github.com/aksonov/react-native-router-flux/pull/2500) ([bm-software](https://github.com/bm-software))\n- Remove popAndPush action in Api [\\#2495](https://github.com/aksonov/react-native-router-flux/pull/2495) ([mackenziemance](https://github.com/mackenziemance))\n- Prevent displaying of BackButton in iOS style on Android when icon is not customized [\\#2491](https://github.com/aksonov/react-native-router-flux/pull/2491) ([davojan](https://github.com/davojan))\n\n## [4.0.0-beta.22](https://github.com/aksonov/react-native-router-flux/tree/4.0.0-beta.22) (2017-10-10)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/4.0.0-beta.21...4.0.0-beta.22)\n\n**Implemented enhancements:**\n\n- Support for custom backButton [\\#2385](https://github.com/aksonov/react-native-router-flux/issues/2385)\n- Refresh drawer [\\#2292](https://github.com/aksonov/react-native-router-flux/issues/2292)\n\n**Closed issues:**\n\n- Need to unmount component on leaving a tab [\\#2489](https://github.com/aksonov/react-native-router-flux/issues/2489)\n- How to disable  animation when I click the tabar to change the scene [\\#2484](https://github.com/aksonov/react-native-router-flux/issues/2484)\n- Dynamically show and hide tav and nav bars [\\#2478](https://github.com/aksonov/react-native-router-flux/issues/2478)\n- API Documentation is missing a definition for Actions.popTo\\(\\) [\\#2470](https://github.com/aksonov/react-native-router-flux/issues/2470)\n- popAndPush not working  [\\#2458](https://github.com/aksonov/react-native-router-flux/issues/2458)\n- renderBackButton is not working [\\#2456](https://github.com/aksonov/react-native-router-flux/issues/2456)\n- How to set Selected in \\<Scene\\> [\\#2455](https://github.com/aksonov/react-native-router-flux/issues/2455)\n- Is it possible to set title value of Scene from Actions? Actions.showComponent\\({ title }\\)? [\\#2454](https://github.com/aksonov/react-native-router-flux/issues/2454)\n- Unable to navigate to Scene with Actions.key [\\#2452](https://github.com/aksonov/react-native-router-flux/issues/2452)\n- Pressing back button not working as expected [\\#2451](https://github.com/aksonov/react-native-router-flux/issues/2451)\n- Can't hide tab icon [\\#2450](https://github.com/aksonov/react-native-router-flux/issues/2450)\n- How to create Tabbar with icon&Text [\\#2446](https://github.com/aksonov/react-native-router-flux/issues/2446)\n- Action.\\[KEY\\] not working [\\#2445](https://github.com/aksonov/react-native-router-flux/issues/2445)\n- Action.\\[SCENE\\_KEY\\] not working [\\#2444](https://github.com/aksonov/react-native-router-flux/issues/2444)\n- Closing the drawer reloads tabs and switches back to default tab [\\#2443](https://github.com/aksonov/react-native-router-flux/issues/2443)\n- There is no route defined for key key0. Must be one of: 'key3','\\< clone view key \\>' \\(nested scenes\\) [\\#2439](https://github.com/aksonov/react-native-router-flux/issues/2439)\n- Dynamically Navigate to a Scene [\\#2436](https://github.com/aksonov/react-native-router-flux/issues/2436)\n- Header title rendered wrong [\\#2433](https://github.com/aksonov/react-native-router-flux/issues/2433)\n- react-native-tab-view not working on Android when nested in a flux tab [\\#2427](https://github.com/aksonov/react-native-router-flux/issues/2427)\n- how to combine with react-native-tabs?I need to display four custo [\\#2419](https://github.com/aksonov/react-native-router-flux/issues/2419)\n- How do you get current route or scene?  [\\#2418](https://github.com/aksonov/react-native-router-flux/issues/2418)\n- Question - How can I call a function from a custom navbar back into my main component  [\\#2417](https://github.com/aksonov/react-native-router-flux/issues/2417)\n- How to make in the user \"tabBarComponent\" transitions both in the standard \"tabBar\"? [\\#2414](https://github.com/aksonov/react-native-router-flux/issues/2414)\n- How to block drawer in login page [\\#2411](https://github.com/aksonov/react-native-router-flux/issues/2411)\n- warnings on program start for every TabScene in Tabs \\(but works correctly\\) [\\#2403](https://github.com/aksonov/react-native-router-flux/issues/2403)\n- CardStackStyleInterpolator module not found [\\#2402](https://github.com/aksonov/react-native-router-flux/issues/2402)\n- I cont Exit App on Android [\\#2399](https://github.com/aksonov/react-native-router-flux/issues/2399)\n- Actions.pop\\({ popNum: number }\\) doesnt work anymore [\\#2397](https://github.com/aksonov/react-native-router-flux/issues/2397)\n- blank map using router-flux [\\#2395](https://github.com/aksonov/react-native-router-flux/issues/2395)\n- Two navbars inside root tabs if using modal [\\#2392](https://github.com/aksonov/react-native-router-flux/issues/2392)\n- Migrating RNRF v3 to RNRF v4 [\\#2381](https://github.com/aksonov/react-native-router-flux/issues/2381)\n- Lastest version, actions.key gets ReferenceError [\\#2380](https://github.com/aksonov/react-native-router-flux/issues/2380)\n- Possible Unhandled Promise Rejection \\(id: 0\\): [\\#2379](https://github.com/aksonov/react-native-router-flux/issues/2379)\n- One NavBar only for grouped Scenes [\\#2375](https://github.com/aksonov/react-native-router-flux/issues/2375)\n- Navigating when changing redux state [\\#2374](https://github.com/aksonov/react-native-router-flux/issues/2374)\n- Tabs label / text colour change [\\#2369](https://github.com/aksonov/react-native-router-flux/issues/2369)\n- Change tab programmatically [\\#2368](https://github.com/aksonov/react-native-router-flux/issues/2368)\n- Android tab bar at the bottom [\\#2365](https://github.com/aksonov/react-native-router-flux/issues/2365)\n- Disable back button from inside a scene. [\\#2362](https://github.com/aksonov/react-native-router-flux/issues/2362)\n- Call Component function from onEnter/onExit [\\#2361](https://github.com/aksonov/react-native-router-flux/issues/2361)\n- Performance issue, taking 4-5 second to pop/push screen [\\#2360](https://github.com/aksonov/react-native-router-flux/issues/2360)\n- Android hardware back button does not run onBack function [\\#2359](https://github.com/aksonov/react-native-router-flux/issues/2359)\n- Change navBar \\(navBar option\\) and toggle \\(hideNavBar option\\) dynamically doesn't work \\(via Actions.refresh\\) [\\#2357](https://github.com/aksonov/react-native-router-flux/issues/2357)\n- how to pass params while using actions.pop\\(\\) in version RNRF-3.41.0?? [\\#2355](https://github.com/aksonov/react-native-router-flux/issues/2355)\n- Can I create scenes/routes during runtime using RNRF? [\\#2354](https://github.com/aksonov/react-native-router-flux/issues/2354)\n- Change transition animation on v4 [\\#2353](https://github.com/aksonov/react-native-router-flux/issues/2353)\n- Jump to specific scene and refresh it [\\#2352](https://github.com/aksonov/react-native-router-flux/issues/2352)\n- componentWillUnmount not firing  [\\#2351](https://github.com/aksonov/react-native-router-flux/issues/2351)\n- Major issues on Android - \"There is no route defined for key key0.\"   [\\#2350](https://github.com/aksonov/react-native-router-flux/issues/2350)\n- Dynamic control tabbar display and hide [\\#2349](https://github.com/aksonov/react-native-router-flux/issues/2349)\n- Custom navBar component doesn't get custom title for a component [\\#2348](https://github.com/aksonov/react-native-router-flux/issues/2348)\n- Two Back Buttons For The Same Scene [\\#2346](https://github.com/aksonov/react-native-router-flux/issues/2346)\n- Passing props to every scene [\\#2345](https://github.com/aksonov/react-native-router-flux/issues/2345)\n- Current scene pushes over the same scene when drawer is closed on IOs [\\#2342](https://github.com/aksonov/react-native-router-flux/issues/2342)\n- \"replace\" type on Scene does not work when tabs is true [\\#2339](https://github.com/aksonov/react-native-router-flux/issues/2339)\n- Two routers, one for Main Application and one for Share application [\\#2338](https://github.com/aksonov/react-native-router-flux/issues/2338)\n- Example project error [\\#2337](https://github.com/aksonov/react-native-router-flux/issues/2337)\n- Element type is invalid: expected a string. [\\#2336](https://github.com/aksonov/react-native-router-flux/issues/2336)\n- Jump to specific scene [\\#2335](https://github.com/aksonov/react-native-router-flux/issues/2335)\n- Actions.\\[key\\] not working [\\#2334](https://github.com/aksonov/react-native-router-flux/issues/2334)\n- flux is not working with react-native swiper [\\#2333](https://github.com/aksonov/react-native-router-flux/issues/2333)\n- How to give new scene title in parameter? [\\#2332](https://github.com/aksonov/react-native-router-flux/issues/2332)\n- Load content of tab when pressing tab instead load all tabs [\\#2331](https://github.com/aksonov/react-native-router-flux/issues/2331)\n- \\[Tabs\\] How to setup initial scene as tab scene? [\\#2330](https://github.com/aksonov/react-native-router-flux/issues/2330)\n- Actions list is empty [\\#2329](https://github.com/aksonov/react-native-router-flux/issues/2329)\n- How to achieve Multi Level Menu inside Control Panel ? [\\#2327](https://github.com/aksonov/react-native-router-flux/issues/2327)\n- Best way to update custom Tabbar? [\\#2324](https://github.com/aksonov/react-native-router-flux/issues/2324)\n- App closes when pressing hardware back button [\\#2323](https://github.com/aksonov/react-native-router-flux/issues/2323)\n- V4 Documentation [\\#2322](https://github.com/aksonov/react-native-router-flux/issues/2322)\n- Cannot set tabbar position [\\#2320](https://github.com/aksonov/react-native-router-flux/issues/2320)\n- react-native-router-flux [\\#2319](https://github.com/aksonov/react-native-router-flux/issues/2319)\n- how to get previous router name?  [\\#2318](https://github.com/aksonov/react-native-router-flux/issues/2318)\n- undefined is not an object \\(evaluating '\\_reactNative.BackHandler.addEventListener'\\) [\\#2316](https://github.com/aksonov/react-native-router-flux/issues/2316)\n- Any authentication examples or tutorial\\(s\\) out there? [\\#2314](https://github.com/aksonov/react-native-router-flux/issues/2314)\n- Tab bar styling [\\#2313](https://github.com/aksonov/react-native-router-flux/issues/2313)\n- Reset Stack [\\#2312](https://github.com/aksonov/react-native-router-flux/issues/2312)\n- How to access props inside rightTitle/onRight static function? [\\#2308](https://github.com/aksonov/react-native-router-flux/issues/2308)\n- Change drawer icon  [\\#2307](https://github.com/aksonov/react-native-router-flux/issues/2307)\n- Dynamically hide tabbar [\\#2306](https://github.com/aksonov/react-native-router-flux/issues/2306)\n- Custom navBar [\\#2304](https://github.com/aksonov/react-native-router-flux/issues/2304)\n- How to make a 'navbar' a global component?  [\\#2303](https://github.com/aksonov/react-native-router-flux/issues/2303)\n- Back button does not disappear when use the 'back' property on Scene. [\\#2302](https://github.com/aksonov/react-native-router-flux/issues/2302)\n- Transition between scene with navbar and transparent navbar [\\#2301](https://github.com/aksonov/react-native-router-flux/issues/2301)\n- How to make \"navBar\" not animated, for example as \"tabBar\".  [\\#2300](https://github.com/aksonov/react-native-router-flux/issues/2300)\n- direction='vertical' doesn't work? [\\#2299](https://github.com/aksonov/react-native-router-flux/issues/2299)\n- Deep linking does not work properly [\\#2297](https://github.com/aksonov/react-native-router-flux/issues/2297)\n- Lazy property doesn't work on tab [\\#2296](https://github.com/aksonov/react-native-router-flux/issues/2296)\n- Spacing between leftButton and title on navBar [\\#2294](https://github.com/aksonov/react-native-router-flux/issues/2294)\n- \\[Lack of Docs:- Easy Example\\] Can someone please help me with side-menu \\(drawer\\)?  [\\#2291](https://github.com/aksonov/react-native-router-flux/issues/2291)\n- Where is the documentation for Overlay,Tabs,Modal,Drawer,Stack,Lightbox ??? [\\#2285](https://github.com/aksonov/react-native-router-flux/issues/2285)\n- Warning - Redux and RNRF - Cannot update during an existing state transition [\\#2253](https://github.com/aksonov/react-native-router-flux/issues/2253)\n\n**Merged pull requests:**\n\n- Update API.md [\\#2481](https://github.com/aksonov/react-native-router-flux/pull/2481) ([venits](https://github.com/venits))\n- added documentation for backButtonImage [\\#2474](https://github.com/aksonov/react-native-router-flux/pull/2474) ([mvanroon](https://github.com/mvanroon))\n- Add `hideDrawerButton` prop to Drawer [\\#2473](https://github.com/aksonov/react-native-router-flux/pull/2473) ([mvanroon](https://github.com/mvanroon))\n- Update titles of different README's [\\#2463](https://github.com/aksonov/react-native-router-flux/pull/2463) ([mvanroon](https://github.com/mvanroon))\n- Update React navigation dependency to 1.0.0-beta13 [\\#2462](https://github.com/aksonov/react-native-router-flux/pull/2462) ([compojoom](https://github.com/compojoom))\n- Update API.md [\\#2453](https://github.com/aksonov/react-native-router-flux/pull/2453) ([jaaberg](https://github.com/jaaberg))\n- Initial attempt at project typings [\\#2448](https://github.com/aksonov/react-native-router-flux/pull/2448) ([jatsrt](https://github.com/jatsrt))\n- Refresh pan handlers via Actions.refresh [\\#2424](https://github.com/aksonov/react-native-router-flux/pull/2424) ([onrige](https://github.com/onrige))\n- Fix passing down wrong overlay navigation state in OverlayNavigator [\\#2422](https://github.com/aksonov/react-native-router-flux/pull/2422) ([wsxyeah](https://github.com/wsxyeah))\n- Lock example's react-navigation version to 1.0.0-beta.11 [\\#2405](https://github.com/aksonov/react-native-router-flux/pull/2405) ([wsxyeah](https://github.com/wsxyeah))\n- Allow to hide left button via Actions.refresh [\\#2398](https://github.com/aksonov/react-native-router-flux/pull/2398) ([onrige](https://github.com/onrige))\n- Updated API Documentation & Added fix for replace Tabbed Component [\\#2364](https://github.com/aksonov/react-native-router-flux/pull/2364) ([mcabs3](https://github.com/mcabs3))\n- Add a posibility to refresh navBar and toggle it by navBar, renderNavigationBar and hideNavBar properties dynamically [\\#2358](https://github.com/aksonov/react-native-router-flux/pull/2358) ([onrige](https://github.com/onrige))\n- Added custom navbar to the project Example [\\#2341](https://github.com/aksonov/react-native-router-flux/pull/2341) ([pgonzalez-santiago](https://github.com/pgonzalez-santiago))\n- Updated Example Project [\\#2328](https://github.com/aksonov/react-native-router-flux/pull/2328) ([mcabs3](https://github.com/mcabs3))\n- Fix table in docs [\\#2326](https://github.com/aksonov/react-native-router-flux/pull/2326) ([bukerok](https://github.com/bukerok))\n- Updated API Documentation [\\#2325](https://github.com/aksonov/react-native-router-flux/pull/2325) ([mcabs3](https://github.com/mcabs3))\n- Minor fix of contributors link to work from any context [\\#2321](https://github.com/aksonov/react-native-router-flux/pull/2321) ([davojan](https://github.com/davojan))\n- Updated API docs to add missing attributes [\\#2315](https://github.com/aksonov/react-native-router-flux/pull/2315) ([mcabs3](https://github.com/mcabs3))\n- Allow changing tabBar visibility dynamically \\(e.g. via Action.refresh\\) [\\#2311](https://github.com/aksonov/react-native-router-flux/pull/2311) ([davojan](https://github.com/davojan))\n- Cleaned up Documentation and added Tabs [\\#2305](https://github.com/aksonov/react-native-router-flux/pull/2305) ([mcabs3](https://github.com/mcabs3))\n\n## [4.0.0-beta.21](https://github.com/aksonov/react-native-router-flux/tree/4.0.0-beta.21) (2017-08-28)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/4.0.0-beta.20...4.0.0-beta.21)\n\n**Closed issues:**\n\n- Click back button on device, but nothing happens. [\\#2295](https://github.com/aksonov/react-native-router-flux/issues/2295)\n\n## [4.0.0-beta.20](https://github.com/aksonov/react-native-router-flux/tree/4.0.0-beta.20) (2017-08-28)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/4.0.0-beta.19...4.0.0-beta.20)\n\n**Fixed bugs:**\n\n- In the new version of the 'tabbar' does not work the 'tabBarPosition' property [\\#2288](https://github.com/aksonov/react-native-router-flux/issues/2288)\n\n**Closed issues:**\n\n- JSON.stringify cannot serialize cyclic structures [\\#2290](https://github.com/aksonov/react-native-router-flux/issues/2290)\n- Actions.pop \\(\\) skips the scene [\\#2289](https://github.com/aksonov/react-native-router-flux/issues/2289)\n- How to remove the effect of replacing renderTitle\\(title\\) when navigating between scene? [\\#2287](https://github.com/aksonov/react-native-router-flux/issues/2287)\n- Tabs on Android are hidden and showing up  [\\#2286](https://github.com/aksonov/react-native-router-flux/issues/2286)\n- Hardware Back not working when on First Scene [\\#2283](https://github.com/aksonov/react-native-router-flux/issues/2283)\n- Main props in navigation options [\\#2282](https://github.com/aksonov/react-native-router-flux/issues/2282)\n- Reset stack with transition [\\#2236](https://github.com/aksonov/react-native-router-flux/issues/2236)\n\n## [4.0.0-beta.19](https://github.com/aksonov/react-native-router-flux/tree/4.0.0-beta.19) (2017-08-23)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/4.0.0-beta.18...4.0.0-beta.19)\n\n**Implemented enhancements:**\n\n- Multiple routers with v4? [\\#2274](https://github.com/aksonov/react-native-router-flux/issues/2274)\n- Nested scenes in v4? [\\#2220](https://github.com/aksonov/react-native-router-flux/issues/2220)\n- Access to Component's props from NavBar. [\\#2195](https://github.com/aksonov/react-native-router-flux/issues/2195)\n- IMPORTANT: v4 beta release is ready \\(v3 is not supported anymore\\) [\\#1974](https://github.com/aksonov/react-native-router-flux/issues/1974)\n\n**Fixed bugs:**\n\n- The onExit method not executes when navigating away from Scene [\\#2279](https://github.com/aksonov/react-native-router-flux/issues/2279)\n- navigationBarTitleImage not working in v4 [\\#2272](https://github.com/aksonov/react-native-router-flux/issues/2272)\n- hideNavBar issue on tabs scene [\\#2268](https://github.com/aksonov/react-native-router-flux/issues/2268)\n- Tabs v4 - Active / Inactive backgroundColor not working [\\#2263](https://github.com/aksonov/react-native-router-flux/issues/2263)\n\n**Closed issues:**\n\n- Actions state inside Drawer [\\#2280](https://github.com/aksonov/react-native-router-flux/issues/2280)\n- Android transitions not working v4-beta branch [\\#2278](https://github.com/aksonov/react-native-router-flux/issues/2278)\n- Unexpected header behavior in TabNavigation [\\#2277](https://github.com/aksonov/react-native-router-flux/issues/2277)\n- OnEnter not called for componentless scenes [\\#2275](https://github.com/aksonov/react-native-router-flux/issues/2275)\n- Custom function on tab press [\\#2271](https://github.com/aksonov/react-native-router-flux/issues/2271)\n- Massive slowdown after beta 14 [\\#2270](https://github.com/aksonov/react-native-router-flux/issues/2270)\n- How to disable swipe to back [\\#2269](https://github.com/aksonov/react-native-router-flux/issues/2269)\n- Can I set onEnter from inside the Component? [\\#2267](https://github.com/aksonov/react-native-router-flux/issues/2267)\n- \\[Error\\] The sources for assing MUST be an object.  [\\#2266](https://github.com/aksonov/react-native-router-flux/issues/2266)\n- How to open Drawer using a custom event / action within a screen [\\#2265](https://github.com/aksonov/react-native-router-flux/issues/2265)\n- Scene's key on the background of TabIcon [\\#2264](https://github.com/aksonov/react-native-router-flux/issues/2264)\n- Top nav bar customization  [\\#2262](https://github.com/aksonov/react-native-router-flux/issues/2262)\n- There is no route defined for key {route}. [\\#2261](https://github.com/aksonov/react-native-router-flux/issues/2261)\n- How to set tab bar activeBackgroundColor [\\#2260](https://github.com/aksonov/react-native-router-flux/issues/2260)\n- Please help me how to use \"react-native-router-flux\" in my scenario [\\#2259](https://github.com/aksonov/react-native-router-flux/issues/2259)\n- Issue with back button not unmounting and remount tab scene  [\\#2257](https://github.com/aksonov/react-native-router-flux/issues/2257)\n- Q:Adding button to navbar [\\#2256](https://github.com/aksonov/react-native-router-flux/issues/2256)\n- sceneStyle gets not applied [\\#2255](https://github.com/aksonov/react-native-router-flux/issues/2255)\n- Prevent certain scenes in stack from always being mounted? [\\#2254](https://github.com/aksonov/react-native-router-flux/issues/2254)\n- Custom navBar is missing in the docs [\\#2252](https://github.com/aksonov/react-native-router-flux/issues/2252)\n- titleStyle only sets backgroundcolor for small area [\\#2251](https://github.com/aksonov/react-native-router-flux/issues/2251)\n- How do you setup a background image for the entire app that is shared across different scene   [\\#2250](https://github.com/aksonov/react-native-router-flux/issues/2250)\n- Setting style for Scenes, title, ... [\\#2249](https://github.com/aksonov/react-native-router-flux/issues/2249)\n- Creating an Authenticated Scene [\\#2246](https://github.com/aksonov/react-native-router-flux/issues/2246)\n- Custom navbar example [\\#2245](https://github.com/aksonov/react-native-router-flux/issues/2245)\n- Better way to declare rightTitle/onRight inside component [\\#2244](https://github.com/aksonov/react-native-router-flux/issues/2244)\n- How do I override \\(or disable\\) hardware back press button for a given scene? [\\#2237](https://github.com/aksonov/react-native-router-flux/issues/2237)\n- How do I get into a route and clear all routes other than the first route before then? [\\#2230](https://github.com/aksonov/react-native-router-flux/issues/2230)\n- Double-tapping fires Actions twice [\\#2228](https://github.com/aksonov/react-native-router-flux/issues/2228)\n- QUESTION: How to disable swipe-back but not disable drawer-swipe [\\#2226](https://github.com/aksonov/react-native-router-flux/issues/2226)\n- Tabs with fetch not rerendering on changetab [\\#2225](https://github.com/aksonov/react-native-router-flux/issues/2225)\n- Error and warning: \"Cannot update during an existing state transition an error\", using react-native-router-flux and redux-form Field [\\#2201](https://github.com/aksonov/react-native-router-flux/issues/2201)\n- Custom animations for scenes \\(disabling transition animation\\) [\\#2042](https://github.com/aksonov/react-native-router-flux/issues/2042)\n- Disable  gesture back action   [\\#2006](https://github.com/aksonov/react-native-router-flux/issues/2006)\n\n**Merged pull requests:**\n\n- Overlay support [\\#2281](https://github.com/aksonov/react-native-router-flux/pull/2281) ([aksonov](https://github.com/aksonov))\n- Prevent React warning \\(and potential errors\\) about refs for stateless function components [\\#2258](https://github.com/aksonov/react-native-router-flux/pull/2258) ([davojan](https://github.com/davojan))\n\n## [4.0.0-beta.18](https://github.com/aksonov/react-native-router-flux/tree/4.0.0-beta.18) (2017-08-16)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/4.0.0-beta.17...4.0.0-beta.18)\n\n**Implemented enhancements:**\n\n- Improve JSX syntax for built-in containers [\\#2210](https://github.com/aksonov/react-native-router-flux/issues/2210)\n\n**Fixed bugs:**\n\n- Back button on Android always closes app [\\#2196](https://github.com/aksonov/react-native-router-flux/issues/2196)\n- \"There is no route defined for key \"a\" in beta.12-15 [\\#2189](https://github.com/aksonov/react-native-router-flux/issues/2189)\n- drawerImage does not display Image [\\#2175](https://github.com/aksonov/react-native-router-flux/issues/2175)\n\n**Closed issues:**\n\n- \\[Question\\] How to pass props to previous screen when back button pressed \\(or any other button\\)? [\\#2243](https://github.com/aksonov/react-native-router-flux/issues/2243)\n- Screen navigation is mixed up / confused. [\\#2242](https://github.com/aksonov/react-native-router-flux/issues/2242)\n- npm run build fails [\\#2240](https://github.com/aksonov/react-native-router-flux/issues/2240)\n- \\[Help Wanted\\] Is it possible to make navigation bar and tabs style like this?  [\\#2239](https://github.com/aksonov/react-native-router-flux/issues/2239)\n- \\[react-native-router-flux\\] key should be defined for \\[object Object\\] [\\#2238](https://github.com/aksonov/react-native-router-flux/issues/2238)\n- popTo hangs [\\#2234](https://github.com/aksonov/react-native-router-flux/issues/2234)\n- Hope to improve the docs for v4 and latest rnrf example [\\#2233](https://github.com/aksonov/react-native-router-flux/issues/2233)\n- Cant change background color [\\#2232](https://github.com/aksonov/react-native-router-flux/issues/2232)\n- remove bottom shadow not work [\\#2231](https://github.com/aksonov/react-native-router-flux/issues/2231)\n- Multiple navigation bars on nested \\<Scene\\> [\\#2229](https://github.com/aksonov/react-native-router-flux/issues/2229)\n- Can anyone help me with disabling back button on certain scenes? [\\#2227](https://github.com/aksonov/react-native-router-flux/issues/2227)\n- HotReload not working as expected [\\#2224](https://github.com/aksonov/react-native-router-flux/issues/2224)\n- Title moves to right for iOS [\\#2223](https://github.com/aksonov/react-native-router-flux/issues/2223)\n- Props is not properly sent down to children when using tabs [\\#2222](https://github.com/aksonov/react-native-router-flux/issues/2222)\n- onPress for \"back button\" on Android only works sometimes [\\#2221](https://github.com/aksonov/react-native-router-flux/issues/2221)\n- How to hide back button Text Label [\\#2219](https://github.com/aksonov/react-native-router-flux/issues/2219)\n- Router doesn't render over the parent element [\\#2218](https://github.com/aksonov/react-native-router-flux/issues/2218)\n- Discussion: Can a store be initiated before Rendering? [\\#2217](https://github.com/aksonov/react-native-router-flux/issues/2217)\n- v4 Tabs - reset stack on changing tab [\\#2215](https://github.com/aksonov/react-native-router-flux/issues/2215)\n- Unexpected behaviour when rendering an array of Scenes [\\#2214](https://github.com/aksonov/react-native-router-flux/issues/2214)\n- Lazy prop mount other pages which are not selected [\\#2211](https://github.com/aksonov/react-native-router-flux/issues/2211)\n- `Back` prop to Scene is not functioning properly [\\#2209](https://github.com/aksonov/react-native-router-flux/issues/2209)\n- setParams or Actions.refresh doesn't work [\\#2208](https://github.com/aksonov/react-native-router-flux/issues/2208)\n- leftButtonImage is not working [\\#2207](https://github.com/aksonov/react-native-router-flux/issues/2207)\n- How can i add gradient in background color of navbar? [\\#2206](https://github.com/aksonov/react-native-router-flux/issues/2206)\n- \\[react-native-router-flux\\] initialState should not be null [\\#2205](https://github.com/aksonov/react-native-router-flux/issues/2205)\n- V4 RenderRightButton not working when passed in Actions.refresh [\\#2204](https://github.com/aksonov/react-native-router-flux/issues/2204)\n- direction=\"vertical\" is not support? [\\#2203](https://github.com/aksonov/react-native-router-flux/issues/2203)\n- Getting Unhandled JS Exception: undefined is not an object \\(evaluating 'child.props.clone'\\) [\\#2202](https://github.com/aksonov/react-native-router-flux/issues/2202)\n- On hiding child nav bar, parent nav bar gets hidden [\\#2200](https://github.com/aksonov/react-native-router-flux/issues/2200)\n- Hardware back button doesn't close drawer menu [\\#2192](https://github.com/aksonov/react-native-router-flux/issues/2192)\n- \\[iOS, v4.0.0-beta.16\\] TabBar is above the NavBar when using tabBarPosition=\"top\" [\\#2190](https://github.com/aksonov/react-native-router-flux/issues/2190)\n- How to set NavBar above Tabs? [\\#2181](https://github.com/aksonov/react-native-router-flux/issues/2181)\n- How to hide drawer for specific scenes [\\#2142](https://github.com/aksonov/react-native-router-flux/issues/2142)\n\n**Merged pull requests:**\n\n- access to screen components via `Actions.refs` [\\#2248](https://github.com/aksonov/react-native-router-flux/pull/2248) ([aksonov](https://github.com/aksonov))\n- Fix of babel version \\(\\#2240\\) [\\#2247](https://github.com/aksonov/react-native-router-flux/pull/2247) ([davojan](https://github.com/davojan))\n- Allow 1-deep nested arrays of Scenes to support structured configuration for larger projects [\\#2241](https://github.com/aksonov/react-native-router-flux/pull/2241) ([davojan](https://github.com/davojan))\n- PopTo “loginModal” was not working in login3 scene [\\#2235](https://github.com/aksonov/react-native-router-flux/pull/2235) ([compojoom](https://github.com/compojoom))\n- Allow special characters in route keys and avoid unintuitive js parsing errors [\\#2216](https://github.com/aksonov/react-native-router-flux/pull/2216) ([davojan](https://github.com/davojan))\n- Fix 'replace' action \\(\\#2189\\) [\\#2213](https://github.com/aksonov/react-native-router-flux/pull/2213) ([aksonov](https://github.com/aksonov))\n- Install by https is more common [\\#2212](https://github.com/aksonov/react-native-router-flux/pull/2212) ([ilabacheuski](https://github.com/ilabacheuski))\n\n## [4.0.0-beta.17](https://github.com/aksonov/react-native-router-flux/tree/4.0.0-beta.17) (2017-08-08)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/4.0.0-beta.16...4.0.0-beta.17)\n\n**Fixed bugs:**\n\n- 'DrawerClose' action pushes new scene instead of just closing drawer [\\#2193](https://github.com/aksonov/react-native-router-flux/issues/2193)\n- Press Android back button immediately exit application [\\#2191](https://github.com/aksonov/react-native-router-flux/issues/2191)\n- tintColor ignored for custom left and right buttons [\\#2188](https://github.com/aksonov/react-native-router-flux/issues/2188)\n- Warning: Failed prop type: Invalid prop `scenes` of type `function` supplied to `Router`, expected a single ReactElement. [\\#2187](https://github.com/aksonov/react-native-router-flux/issues/2187)\n\n**Closed issues:**\n\n- How can I show tab inside the tab \\(Nested tabs\\)? [\\#2199](https://github.com/aksonov/react-native-router-flux/issues/2199)\n- How to achieve =\\> headerMode:\"screen\" [\\#2198](https://github.com/aksonov/react-native-router-flux/issues/2198)\n- All tab view of tabs are mounted once. [\\#2197](https://github.com/aksonov/react-native-router-flux/issues/2197)\n- back on TAB is not working when using hideTabBar and swipeEnabled={false} a on parent [\\#2186](https://github.com/aksonov/react-native-router-flux/issues/2186)\n- ComponentWillUnmount is not called when Action is triggered [\\#2185](https://github.com/aksonov/react-native-router-flux/issues/2185)\n- Icon hamburger on each scene [\\#2184](https://github.com/aksonov/react-native-router-flux/issues/2184)\n- Modal nested navigation [\\#2183](https://github.com/aksonov/react-native-router-flux/issues/2183)\n- Press Android back button immediately exit application  [\\#2182](https://github.com/aksonov/react-native-router-flux/issues/2182)\n- Redux state change in drawerchild [\\#2180](https://github.com/aksonov/react-native-router-flux/issues/2180)\n- how to change android animation direction [\\#2177](https://github.com/aksonov/react-native-router-flux/issues/2177)\n- How to use modal [\\#2173](https://github.com/aksonov/react-native-router-flux/issues/2173)\n- No option to change default indicator style color of yellow in Tab bar on android [\\#2171](https://github.com/aksonov/react-native-router-flux/issues/2171)\n- redux example - side effect warning [\\#2170](https://github.com/aksonov/react-native-router-flux/issues/2170)\n- Custom tab bar [\\#2169](https://github.com/aksonov/react-native-router-flux/issues/2169)\n- Tab bar not showing in Android  [\\#2165](https://github.com/aksonov/react-native-router-flux/issues/2165)\n- Tabbed Scene Jumping Back to first tab [\\#2164](https://github.com/aksonov/react-native-router-flux/issues/2164)\n- Is it possible to render navBar at the bottom? Also, disabling 'fade with slide' animation when entering a Scene [\\#2161](https://github.com/aksonov/react-native-router-flux/issues/2161)\n- \\(Warning\\) Multiple mobx instances running [\\#2155](https://github.com/aksonov/react-native-router-flux/issues/2155)\n\n**Merged pull requests:**\n\n- Fixes \\#2193, \\#2188, \\#2175 and general drawerImage improvement [\\#2194](https://github.com/aksonov/react-native-router-flux/pull/2194) ([aksonov](https://github.com/aksonov))\n- Fixed popTo method [\\#2179](https://github.com/aksonov/react-native-router-flux/pull/2179) ([ulentini](https://github.com/ulentini))\n\n## [4.0.0-beta.16](https://github.com/aksonov/react-native-router-flux/tree/4.0.0-beta.16) (2017-08-03)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/4.0.0-beta.15...4.0.0-beta.16)\n\n**Fixed bugs:**\n\n-  Actions.popTo not working with beta 15 and above [\\#2163](https://github.com/aksonov/react-native-router-flux/issues/2163)\n- \\[Regression\\] Jump to the same route pushes new screen \\(should be ignored\\) [\\#2152](https://github.com/aksonov/react-native-router-flux/issues/2152)\n- onEnter not being executed when using Actions.pop\\(\\) manually [\\#2147](https://github.com/aksonov/react-native-router-flux/issues/2147)\n- DrawerIcons disables DrawerImage [\\#2110](https://github.com/aksonov/react-native-router-flux/issues/2110)\n\n**Closed issues:**\n\n- react-native-web Unable to be compatible [\\#2178](https://github.com/aksonov/react-native-router-flux/issues/2178)\n- how to Dynamically setting the tabbarStyle [\\#2176](https://github.com/aksonov/react-native-router-flux/issues/2176)\n- \\[suggestion\\] modal independent of navigation [\\#2174](https://github.com/aksonov/react-native-router-flux/issues/2174)\n- popTo: Cannot read property 'toString' of undefined. [\\#2167](https://github.com/aksonov/react-native-router-flux/issues/2167)\n- Title in navigation bar is not centered in Android \\(7.0\\) [\\#2166](https://github.com/aksonov/react-native-router-flux/issues/2166)\n- Issues pushing new scene after upgrading from beta8 to beta 15 [\\#2162](https://github.com/aksonov/react-native-router-flux/issues/2162)\n- Can't read property 'router' of null \\#2049 [\\#2158](https://github.com/aksonov/react-native-router-flux/issues/2158)\n- Scene Not changing [\\#2157](https://github.com/aksonov/react-native-router-flux/issues/2157)\n- Decorators \\(MobX\\) not supported by React Native defaut Babel preset [\\#2156](https://github.com/aksonov/react-native-router-flux/issues/2156)\n- can i use it with react-redux  or  it will support redux？？ [\\#2151](https://github.com/aksonov/react-native-router-flux/issues/2151)\n- Upgrade to v4 broke - almost - everything [\\#2150](https://github.com/aksonov/react-native-router-flux/issues/2150)\n- How to make drawer navigation? [\\#2149](https://github.com/aksonov/react-native-router-flux/issues/2149)\n- header onBack bug? [\\#2146](https://github.com/aksonov/react-native-router-flux/issues/2146)\n- 4.0.0-beta.14 mobx strict-mode is enabled bug [\\#2145](https://github.com/aksonov/react-native-router-flux/issues/2145)\n- How to open drawer onPress in v4? [\\#2143](https://github.com/aksonov/react-native-router-flux/issues/2143)\n- react-native-drawer example with react-native-router-flux 4 [\\#2133](https://github.com/aksonov/react-native-router-flux/issues/2133)\n- navigationBarStyle or navTransparent and also navigationBarStyle={\\[STYLES.navBar\\]} is not working while trying to make the custom navigation bar transparent  [\\#2132](https://github.com/aksonov/react-native-router-flux/issues/2132)\n- Unable to overlay the tabbed navigation view [\\#2112](https://github.com/aksonov/react-native-router-flux/issues/2112)\n\n**Merged pull requests:**\n\n- Example: Centered title in navigation bar [\\#2172](https://github.com/aksonov/react-native-router-flux/pull/2172) ([mikaello](https://github.com/mikaello))\n- Update swipeEnabled and Etc. [\\#2168](https://github.com/aksonov/react-native-router-flux/pull/2168) ([luco](https://github.com/luco))\n- Fixes \\#2147, onExit handler [\\#2154](https://github.com/aksonov/react-native-router-flux/pull/2154) ([aksonov](https://github.com/aksonov))\n- Addresses \\#2152 [\\#2153](https://github.com/aksonov/react-native-router-flux/pull/2153) ([aksonov](https://github.com/aksonov))\n\n## [4.0.0-beta.15](https://github.com/aksonov/react-native-router-flux/tree/4.0.0-beta.15) (2017-07-30)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/4.0.0-beta.14...4.0.0-beta.15)\n\n**Implemented enhancements:**\n\n- tabicon can't get more props [\\#2129](https://github.com/aksonov/react-native-router-flux/issues/2129)\n- Increase hitSlop \\(tappable area\\) for navbar  [\\#2123](https://github.com/aksonov/react-native-router-flux/issues/2123)\n- Support of external navigation state \\(full redux support\\) [\\#2115](https://github.com/aksonov/react-native-router-flux/issues/2115)\n\n**Fixed bugs:**\n\n- \\[Question\\] renderNavigationBar alternative in v4? [\\#2130](https://github.com/aksonov/react-native-router-flux/issues/2130)\n- renderBackButton not working [\\#2124](https://github.com/aksonov/react-native-router-flux/issues/2124)\n\n**Closed issues:**\n\n- Hot to focus second tab when push tabBar Scene? [\\#2141](https://github.com/aksonov/react-native-router-flux/issues/2141)\n- React-Native-Vector-Icons for React-Native-Router-Flux TabBar [\\#2139](https://github.com/aksonov/react-native-router-flux/issues/2139)\n- Animation? [\\#2135](https://github.com/aksonov/react-native-router-flux/issues/2135)\n- Scenes inside tabs \\(switch\\) getting corrently unmounted and then incorrectly re-mounted [\\#2131](https://github.com/aksonov/react-native-router-flux/issues/2131)\n- Support for custom component for NavBar [\\#2128](https://github.com/aksonov/react-native-router-flux/issues/2128)\n- Clear history stack without route change? [\\#2127](https://github.com/aksonov/react-native-router-flux/issues/2127)\n- How to wait until the scene is refreshed? [\\#2126](https://github.com/aksonov/react-native-router-flux/issues/2126)\n- adding a custom navigation bar with a leftbutton and multiple right buttons   [\\#2125](https://github.com/aksonov/react-native-router-flux/issues/2125)\n- Back props & Android back button ? [\\#2122](https://github.com/aksonov/react-native-router-flux/issues/2122)\n- onLeft\\(\\) or onRight\\(\\) use compoent function? [\\#2121](https://github.com/aksonov/react-native-router-flux/issues/2121)\n- Does any one have an example app using RNRF & Mobx? [\\#2120](https://github.com/aksonov/react-native-router-flux/issues/2120)\n- Getting a deadly spinner [\\#2119](https://github.com/aksonov/react-native-router-flux/issues/2119)\n- How to get the Routing stack? [\\#2118](https://github.com/aksonov/react-native-router-flux/issues/2118)\n- Header not not displayed [\\#2117](https://github.com/aksonov/react-native-router-flux/issues/2117)\n- Не отображается хэдэр [\\#2116](https://github.com/aksonov/react-native-router-flux/issues/2116)\n- \\[Question\\] Share a Scene [\\#2114](https://github.com/aksonov/react-native-router-flux/issues/2114)\n- How to use wrapBy [\\#2113](https://github.com/aksonov/react-native-router-flux/issues/2113)\n- renderTitle image not shown on all device [\\#2111](https://github.com/aksonov/react-native-router-flux/issues/2111)\n- Proper way of using onEnter / success? [\\#2109](https://github.com/aksonov/react-native-router-flux/issues/2109)\n- Reset stack on enter Scene? [\\#2104](https://github.com/aksonov/react-native-router-flux/issues/2104)\n- Rotation bug. [\\#2088](https://github.com/aksonov/react-native-router-flux/issues/2088)\n\n**Merged pull requests:**\n\n- Tabicons improvement [\\#2140](https://github.com/aksonov/react-native-router-flux/pull/2140) ([aksonov](https://github.com/aksonov))\n- Fix the React.PropTypes [\\#2138](https://github.com/aksonov/react-native-router-flux/pull/2138) ([trietphan](https://github.com/trietphan))\n- Full redux support [\\#2134](https://github.com/aksonov/react-native-router-flux/pull/2134) ([aksonov](https://github.com/aksonov))\n\n## [4.0.0-beta.14](https://github.com/aksonov/react-native-router-flux/tree/4.0.0-beta.14) (2017-07-25)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/4.0.0-beta.13...4.0.0-beta.14)\n\n## [4.0.0-beta.13](https://github.com/aksonov/react-native-router-flux/tree/4.0.0-beta.13) (2017-07-25)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/4.0.0-beta.12...4.0.0-beta.13)\n\n**Implemented enhancements:**\n\n- Tabbar properties not working in V4 [\\#1996](https://github.com/aksonov/react-native-router-flux/issues/1996)\n\n**Fixed bugs:**\n\n- Drawer with drawerPosition=\"right\" has menu button on the left [\\#2087](https://github.com/aksonov/react-native-router-flux/issues/2087)\n\n**Closed issues:**\n\n- Cannot open screen in tab scene [\\#2108](https://github.com/aksonov/react-native-router-flux/issues/2108)\n- Drawer button and title alignment in Navbar v4 [\\#2107](https://github.com/aksonov/react-native-router-flux/issues/2107)\n- Can't wrap Scene or ConnectedRouter in a View  [\\#2106](https://github.com/aksonov/react-native-router-flux/issues/2106)\n- How to have a global view component like a notification bar  [\\#2105](https://github.com/aksonov/react-native-router-flux/issues/2105)\n- Drawer w/ Nested Nav and Header Issue [\\#2103](https://github.com/aksonov/react-native-router-flux/issues/2103)\n- v4 replace behaves different to v3? [\\#2102](https://github.com/aksonov/react-native-router-flux/issues/2102)\n- How to have back button on initial screen also? [\\#2101](https://github.com/aksonov/react-native-router-flux/issues/2101)\n- Example with Redux on v4 [\\#2100](https://github.com/aksonov/react-native-router-flux/issues/2100)\n- Example with MobX on v4 [\\#2099](https://github.com/aksonov/react-native-router-flux/issues/2099)\n- How to reset back stack? [\\#2098](https://github.com/aksonov/react-native-router-flux/issues/2098)\n- about example  Jump animation [\\#2097](https://github.com/aksonov/react-native-router-flux/issues/2097)\n- BackHandler remove on v3.39.1 [\\#2096](https://github.com/aksonov/react-native-router-flux/issues/2096)\n- tabBarComponent transparent background hides content [\\#2095](https://github.com/aksonov/react-native-router-flux/issues/2095)\n- hideBackImage and renderBackButton not working [\\#2093](https://github.com/aksonov/react-native-router-flux/issues/2093)\n- Drawer-Image not shown on android [\\#2092](https://github.com/aksonov/react-native-router-flux/issues/2092)\n- Action to the same route [\\#2091](https://github.com/aksonov/react-native-router-flux/issues/2091)\n- on reset complete? [\\#2090](https://github.com/aksonov/react-native-router-flux/issues/2090)\n- Question about Actions.refresh [\\#2089](https://github.com/aksonov/react-native-router-flux/issues/2089)\n- Back button does not render  [\\#2086](https://github.com/aksonov/react-native-router-flux/issues/2086)\n- tabbar icon cannot class? [\\#2085](https://github.com/aksonov/react-native-router-flux/issues/2085)\n- navTransparent Does not work [\\#2084](https://github.com/aksonov/react-native-router-flux/issues/2084)\n- Back button prop [\\#2083](https://github.com/aksonov/react-native-router-flux/issues/2083)\n- Actions.sceneKey\\({type: ActionsConst.REPLACE}\\) isn't working [\\#2082](https://github.com/aksonov/react-native-router-flux/issues/2082)\n- Using onEnter/onExit from Component [\\#2081](https://github.com/aksonov/react-native-router-flux/issues/2081)\n- Double Line in Navigation Bar for nested StackedNavigation and Title does not center in 4.0.0 [\\#2080](https://github.com/aksonov/react-native-router-flux/issues/2080)\n- Call tab nested scene from outer scene [\\#2079](https://github.com/aksonov/react-native-router-flux/issues/2079)\n- Pop with props [\\#2078](https://github.com/aksonov/react-native-router-flux/issues/2078)\n- Double navBar on nested Scenes [\\#2077](https://github.com/aksonov/react-native-router-flux/issues/2077)\n- hideTabBar sometimes doesn't work [\\#2076](https://github.com/aksonov/react-native-router-flux/issues/2076)\n- Actions.pop\\(\\) with data is not working [\\#2075](https://github.com/aksonov/react-native-router-flux/issues/2075)\n- v3 to v4 : Route 'myRoute' should declare a screen. [\\#2074](https://github.com/aksonov/react-native-router-flux/issues/2074)\n- Actions stopped working [\\#2072](https://github.com/aksonov/react-native-router-flux/issues/2072)\n- actions\\[type\\] is not a function [\\#2070](https://github.com/aksonov/react-native-router-flux/issues/2070)\n- Nested scenes not working in 4.0.0 [\\#2066](https://github.com/aksonov/react-native-router-flux/issues/2066)\n- How can I pass parameters to a tabbar's child? [\\#2065](https://github.com/aksonov/react-native-router-flux/issues/2065)\n- Cannot update during an existing state transition [\\#2063](https://github.com/aksonov/react-native-router-flux/issues/2063)\n- \\[Question\\] How to \\*really\\* upgrade from V3 to V4? [\\#2060](https://github.com/aksonov/react-native-router-flux/issues/2060)\n- Strange behavior for drawerOpen [\\#2058](https://github.com/aksonov/react-native-router-flux/issues/2058)\n- Confusion to new comer: what version shall I use? [\\#2041](https://github.com/aksonov/react-native-router-flux/issues/2041)\n- Icon not show on Android [\\#2038](https://github.com/aksonov/react-native-router-flux/issues/2038)\n- Navigation 'back' button won't render on Android for scenes with 'back' attribute. [\\#2023](https://github.com/aksonov/react-native-router-flux/issues/2023)\n- rightTitle / leftTitle   [\\#2019](https://github.com/aksonov/react-native-router-flux/issues/2019)\n\n**Merged pull requests:**\n\n- Add Scene Props and Etc [\\#2073](https://github.com/aksonov/react-native-router-flux/pull/2073) ([luco](https://github.com/luco))\n\n## [4.0.0-beta.12](https://github.com/aksonov/react-native-router-flux/tree/4.0.0-beta.12) (2017-07-19)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/4.0.0-beta.11...4.0.0-beta.12)\n\n**Closed issues:**\n\n- V4 : How to pass props to custom navBar using Action ? [\\#2069](https://github.com/aksonov/react-native-router-flux/issues/2069)\n- How can I get the routing stack [\\#2068](https://github.com/aksonov/react-native-router-flux/issues/2068)\n- How can i [\\#2064](https://github.com/aksonov/react-native-router-flux/issues/2064)\n- Lightbox not transparent [\\#2061](https://github.com/aksonov/react-native-router-flux/issues/2061)\n- popTo freezes [\\#2059](https://github.com/aksonov/react-native-router-flux/issues/2059)\n- a reference error? [\\#2057](https://github.com/aksonov/react-native-router-flux/issues/2057)\n- How do reset keep the initial page routing? [\\#2056](https://github.com/aksonov/react-native-router-flux/issues/2056)\n- How to position tab bar on bottom. v4 [\\#2054](https://github.com/aksonov/react-native-router-flux/issues/2054)\n- hideNavBar not working on android [\\#2050](https://github.com/aksonov/react-native-router-flux/issues/2050)\n- Can't read property 'router' of null [\\#2049](https://github.com/aksonov/react-native-router-flux/issues/2049)\n- Question: How to integrate with Redux on v4? [\\#2048](https://github.com/aksonov/react-native-router-flux/issues/2048)\n- scene 1 -\\> scene 2 -\\> scene 1 \\(refresh with new params\\) how? [\\#2047](https://github.com/aksonov/react-native-router-flux/issues/2047)\n- Actions.{route} not defined for nested scenes [\\#2045](https://github.com/aksonov/react-native-router-flux/issues/2045)\n- Back navigation won't work on Android [\\#2040](https://github.com/aksonov/react-native-router-flux/issues/2040)\n- Can't change backgroundColor of the app. [\\#2039](https://github.com/aksonov/react-native-router-flux/issues/2039)\n- The vertical position of navigation bar does changes while popping or pushing [\\#2037](https://github.com/aksonov/react-native-router-flux/issues/2037)\n- Custom TabBar Component in v4 [\\#2036](https://github.com/aksonov/react-native-router-flux/issues/2036)\n- Tabs mounting all components on start    [\\#2034](https://github.com/aksonov/react-native-router-flux/issues/2034)\n- Unable to change default background color of gray [\\#2033](https://github.com/aksonov/react-native-router-flux/issues/2033)\n- Color of Back Button Arrow [\\#2028](https://github.com/aksonov/react-native-router-flux/issues/2028)\n- Tabbar Navigation always goes back to the last screen [\\#2026](https://github.com/aksonov/react-native-router-flux/issues/2026)\n\n**Merged pull requests:**\n\n- Fix children scene transition props not collected [\\#2071](https://github.com/aksonov/react-native-router-flux/pull/2071) ([wsxyeah](https://github.com/wsxyeah))\n- remove trailing backtick at git clone link [\\#2067](https://github.com/aksonov/react-native-router-flux/pull/2067) ([buncismamen](https://github.com/buncismamen))\n- Add left and right button text style and tabBarComponent [\\#2055](https://github.com/aksonov/react-native-router-flux/pull/2055) ([luco](https://github.com/luco))\n- add more navbar dynamic properties [\\#2053](https://github.com/aksonov/react-native-router-flux/pull/2053) ([aksonov](https://github.com/aksonov))\n- Fix for \\#2019 - rightButton positioning on Android. [\\#2052](https://github.com/aksonov/react-native-router-flux/pull/2052) ([diegocouto](https://github.com/diegocouto))\n- Migrate to CircleCI 2.0 [\\#2046](https://github.com/aksonov/react-native-router-flux/pull/2046) ([charpeni](https://github.com/charpeni))\n- license update [\\#2044](https://github.com/aksonov/react-native-router-flux/pull/2044) ([aksonov](https://github.com/aksonov))\n- Fix for \\#2023 - Navigation 'back' button won't render on Android [\\#2043](https://github.com/aksonov/react-native-router-flux/pull/2043) ([diegocouto](https://github.com/diegocouto))\n- More docs [\\#2035](https://github.com/aksonov/react-native-router-flux/pull/2035) ([southerneer](https://github.com/southerneer))\n\n## [4.0.0-beta.11](https://github.com/aksonov/react-native-router-flux/tree/4.0.0-beta.11) (2017-07-14)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/4.0.0-beta.10...4.0.0-beta.11)\n\n## [4.0.0-beta.10](https://github.com/aksonov/react-native-router-flux/tree/4.0.0-beta.10) (2017-07-14)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/4.0.0-beta.9...4.0.0-beta.10)\n\n**Closed issues:**\n\n- Transform error with beta 9  [\\#2032](https://github.com/aksonov/react-native-router-flux/issues/2032)\n- Scene onPress doesn't work anymore? [\\#2030](https://github.com/aksonov/react-native-router-flux/issues/2030)\n- Component renders twice / showing up in nav bar twice   [\\#2024](https://github.com/aksonov/react-native-router-flux/issues/2024)\n\n## [4.0.0-beta.9](https://github.com/aksonov/react-native-router-flux/tree/4.0.0-beta.9) (2017-07-14)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/4.0.0-beta.8...4.0.0-beta.9)\n\n**Closed issues:**\n\n- Swipe back with Vertical threshold [\\#2031](https://github.com/aksonov/react-native-router-flux/issues/2031)\n- null is not an object AppNavigator.router [\\#2029](https://github.com/aksonov/react-native-router-flux/issues/2029)\n- How to update TabBar icon on V4? [\\#2027](https://github.com/aksonov/react-native-router-flux/issues/2027)\n- Cannot close Modal and Scene at once from inside of the Modal [\\#2022](https://github.com/aksonov/react-native-router-flux/issues/2022)\n- How can we show component in the TabView? [\\#2021](https://github.com/aksonov/react-native-router-flux/issues/2021)\n- Moving to a new scene pushesh navbar to the previous scene [\\#2016](https://github.com/aksonov/react-native-router-flux/issues/2016)\n- Failed at the react-native-router-flux@4.0.0-beta.7 postinstall script 'opencollective postinstall'. [\\#2008](https://github.com/aksonov/react-native-router-flux/issues/2008)\n\n**Merged pull requests:**\n\n- 4.0.0.beta.9 - WIP [\\#2025](https://github.com/aksonov/react-native-router-flux/pull/2025) ([aksonov](https://github.com/aksonov))\n\n## [4.0.0-beta.8](https://github.com/aksonov/react-native-router-flux/tree/4.0.0-beta.8) (2017-07-13)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/4.0.0-beta.7...4.0.0-beta.8)\n\n**Implemented enhancements:**\n\n- Issue popping down to root StackNavigator [\\#1987](https://github.com/aksonov/react-native-router-flux/issues/1987)\n\n**Fixed bugs:**\n\n- Navbar properties not working in v4 [\\#1991](https://github.com/aksonov/react-native-router-flux/issues/1991)\n\n**Closed issues:**\n\n- Using modal properly [\\#2020](https://github.com/aksonov/react-native-router-flux/issues/2020)\n- Constant rerendering of scenes in the stack.  [\\#2018](https://github.com/aksonov/react-native-router-flux/issues/2018)\n- actions\\[type\\] is not a function [\\#2017](https://github.com/aksonov/react-native-router-flux/issues/2017)\n- Navbar props don't affect on back button style [\\#2014](https://github.com/aksonov/react-native-router-flux/issues/2014)\n- TabBarIcon can not call class as a funtion [\\#2013](https://github.com/aksonov/react-native-router-flux/issues/2013)\n- Drawer children is not defined [\\#2011](https://github.com/aksonov/react-native-router-flux/issues/2011)\n- when i  created a WiFi hotspot,  and my tabBar  was pushed down [\\#2010](https://github.com/aksonov/react-native-router-flux/issues/2010)\n- undefined is not an ovject \\(evaluating '\\_react.PropTypes.string'\\) [\\#2009](https://github.com/aksonov/react-native-router-flux/issues/2009)\n- \\_reactNativeRouterFlux.Actions.Teams is not a function [\\#2007](https://github.com/aksonov/react-native-router-flux/issues/2007)\n- disabling panHandlers [\\#2005](https://github.com/aksonov/react-native-router-flux/issues/2005)\n- v4 Actions.popTo\\(\\) is not function   when I run Example [\\#2004](https://github.com/aksonov/react-native-router-flux/issues/2004)\n- AppNavigator.router undefined/props should be defined errors in V4 [\\#1999](https://github.com/aksonov/react-native-router-flux/issues/1999)\n\n**Merged pull requests:**\n\n- PR for beta.8 [\\#2015](https://github.com/aksonov/react-native-router-flux/pull/2015) ([aksonov](https://github.com/aksonov))\n\n## [4.0.0-beta.7](https://github.com/aksonov/react-native-router-flux/tree/4.0.0-beta.7) (2017-07-10)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/3.39.1...4.0.0-beta.7)\n\n**Implemented enhancements:**\n\n- this.props.navigationState is undefined [\\#2000](https://github.com/aksonov/react-native-router-flux/issues/2000)\n- Build v4 around 'react-navigation' - contributors wanted! [\\#1595](https://github.com/aksonov/react-native-router-flux/issues/1595)\n- Missing properties in index.d.ts for SceneProps [\\#1216](https://github.com/aksonov/react-native-router-flux/issues/1216)\n- Need to improve the example...  [\\#1189](https://github.com/aksonov/react-native-router-flux/issues/1189)\n- How can I persist router state using redux-persist? [\\#1180](https://github.com/aksonov/react-native-router-flux/issues/1180)\n- Changelog not maintained [\\#1075](https://github.com/aksonov/react-native-router-flux/issues/1075)\n- Experimental Native Navigation \\(iOS\\) [\\#1061](https://github.com/aksonov/react-native-router-flux/issues/1061)\n- Feature suggestion/request: StatusBar changes based on scene/route [\\#834](https://github.com/aksonov/react-native-router-flux/issues/834)\n- \\[Discussion\\] v4 roadmap/desired features/etc [\\#817](https://github.com/aksonov/react-native-router-flux/issues/817)\n- \\[WIP\\] Migrate to newest React Native master branch API \\(0.29?\\) [\\#815](https://github.com/aksonov/react-native-router-flux/issues/815)\n- Tapping a tab should navigate to the default scene for that scene group [\\#717](https://github.com/aksonov/react-native-router-flux/issues/717)\n- Redux replacement with reactive programming [\\#709](https://github.com/aksonov/react-native-router-flux/issues/709)\n- Any plans to support deep linking by having a url scheme? [\\#704](https://github.com/aksonov/react-native-router-flux/issues/704)\n- tab routes does not get params [\\#563](https://github.com/aksonov/react-native-router-flux/issues/563)\n- Pop back to specific scene [\\#419](https://github.com/aksonov/react-native-router-flux/issues/419)\n\n**Fixed bugs:**\n\n- Mobx enabled useStrict [\\#1994](https://github.com/aksonov/react-native-router-flux/issues/1994)\n- navigationBarTitleImage prop doesn't show image [\\#1687](https://github.com/aksonov/react-native-router-flux/issues/1687)\n- Get rid of small line between scenes [\\#1673](https://github.com/aksonov/react-native-router-flux/issues/1673)\n- Selecting current screen tab instantiates a new component [\\#1669](https://github.com/aksonov/react-native-router-flux/issues/1669)\n- Reset on tabbar not always calling componentDidMount [\\#1630](https://github.com/aksonov/react-native-router-flux/issues/1630)\n- Application crashes when using tabbar after upgrade react native 0.41 [\\#1616](https://github.com/aksonov/react-native-router-flux/issues/1616)\n- ComponentWillMount and componentWillUnmount not called if time is extremely short between Actions.push and Actions.pop [\\#1612](https://github.com/aksonov/react-native-router-flux/issues/1612)\n- POP\\_TO not working in android [\\#1235](https://github.com/aksonov/react-native-router-flux/issues/1235)\n- tab bar bug! [\\#1233](https://github.com/aksonov/react-native-router-flux/issues/1233)\n- The default NavBar prevents swipe back on Android [\\#1134](https://github.com/aksonov/react-native-router-flux/issues/1134)\n- Long titles are hidden behind the buttons [\\#1087](https://github.com/aksonov/react-native-router-flux/issues/1087)\n- Failed to build DependencyGraph: @providesModule naming collision: [\\#960](https://github.com/aksonov/react-native-router-flux/issues/960)\n- The style of navigation bar in the scene which is poping changed to white background [\\#922](https://github.com/aksonov/react-native-router-flux/issues/922)\n- drawerImage size [\\#895](https://github.com/aksonov/react-native-router-flux/issues/895)\n\n**Closed issues:**\n\n- undefined is not a function \\(evaluating '\\_reactNativeRouterFlux.Actions.create'\\) [\\#2003](https://github.com/aksonov/react-native-router-flux/issues/2003)\n- Correct way to setup tabs and drawer, showing two headers  [\\#2002](https://github.com/aksonov/react-native-router-flux/issues/2002)\n- Warning: Failed prop type: Invalid prop `children` of type `array` supplied to `Provider`, expected a single ReactElement. [\\#1998](https://github.com/aksonov/react-native-router-flux/issues/1998)\n- Example error [\\#1997](https://github.com/aksonov/react-native-router-flux/issues/1997)\n- How to use DefaultRenderer? [\\#1995](https://github.com/aksonov/react-native-router-flux/issues/1995)\n- Is it possible to pass component with props in Scene? [\\#1993](https://github.com/aksonov/react-native-router-flux/issues/1993)\n- Unhandled JS Exception: \\_reactNativeRouterFlux.Actions.create is not a function [\\#1992](https://github.com/aksonov/react-native-router-flux/issues/1992)\n- Drawer image and changing scenes [\\#1990](https://github.com/aksonov/react-native-router-flux/issues/1990)\n- Parent scene component visible in inherited scenes [\\#1988](https://github.com/aksonov/react-native-router-flux/issues/1988)\n- Unable to set animation direction [\\#1986](https://github.com/aksonov/react-native-router-flux/issues/1986)\n- TabBar Just Doesn't Show Up [\\#1985](https://github.com/aksonov/react-native-router-flux/issues/1985)\n- Trying to render any other type of tab bar leads to layout issues [\\#1984](https://github.com/aksonov/react-native-router-flux/issues/1984)\n- TabIcons focused prop [\\#1983](https://github.com/aksonov/react-native-router-flux/issues/1983)\n- Install Version 4  [\\#1982](https://github.com/aksonov/react-native-router-flux/issues/1982)\n- Global parent component for inherited scenes [\\#1981](https://github.com/aksonov/react-native-router-flux/issues/1981)\n- NavBar Title onPress action [\\#1980](https://github.com/aksonov/react-native-router-flux/issues/1980)\n- NavBar doesn't render with new scene [\\#1979](https://github.com/aksonov/react-native-router-flux/issues/1979)\n- react-native v.45.1 [\\#1977](https://github.com/aksonov/react-native-router-flux/issues/1977)\n- How to unmount component switching tab [\\#1976](https://github.com/aksonov/react-native-router-flux/issues/1976)\n- \\_reactNativeRouterFlux.Actions.create is not a function [\\#1975](https://github.com/aksonov/react-native-router-flux/issues/1975)\n- Issue with passing props to a tabbed scene [\\#1972](https://github.com/aksonov/react-native-router-flux/issues/1972)\n- componentWillUnMount [\\#1971](https://github.com/aksonov/react-native-router-flux/issues/1971)\n- Drawer left and right button image change dynamically [\\#1970](https://github.com/aksonov/react-native-router-flux/issues/1970)\n- refresh param of children of Drawer. [\\#1969](https://github.com/aksonov/react-native-router-flux/issues/1969)\n- react-native-router-flux \\(undefined is not an object ... viewPropTypes.style\\) [\\#1968](https://github.com/aksonov/react-native-router-flux/issues/1968)\n- Having Issues Properly Hooking Into Scene Change \\(FLUX\\_FOCUS\\) [\\#1967](https://github.com/aksonov/react-native-router-flux/issues/1967)\n- renderRightButton [\\#1966](https://github.com/aksonov/react-native-router-flux/issues/1966)\n- Actions.pop\\(refresh: { }\\) cannot trigger componentWillReceiveProps at children scene [\\#1965](https://github.com/aksonov/react-native-router-flux/issues/1965)\n- Multiple buttons on navbar [\\#1964](https://github.com/aksonov/react-native-router-flux/issues/1964)\n- Authentication/Unlock on AppState change [\\#1963](https://github.com/aksonov/react-native-router-flux/issues/1963)\n- Which version is the latest supporting RN0.43.1? [\\#1962](https://github.com/aksonov/react-native-router-flux/issues/1962)\n- Typescript: how to enable icon for tabbar 0.38 [\\#1961](https://github.com/aksonov/react-native-router-flux/issues/1961)\n- Command `run-android` unrecognized. Make sure that you have run `npm install` and that you are inside a react-native project. [\\#1960](https://github.com/aksonov/react-native-router-flux/issues/1960)\n- SyntaxError /node\\_modules/react-native-router-flux/src/navigationStore: Unexpected token \\(18:0\\) [\\#1959](https://github.com/aksonov/react-native-router-flux/issues/1959)\n- Dynamic status bar style [\\#1958](https://github.com/aksonov/react-native-router-flux/issues/1958)\n-  componentWillUnMount be not always get called when back [\\#1957](https://github.com/aksonov/react-native-router-flux/issues/1957)\n- How to get tabs to count towards navigation history? [\\#1956](https://github.com/aksonov/react-native-router-flux/issues/1956)\n- Tabbar tabs background color [\\#1955](https://github.com/aksonov/react-native-router-flux/issues/1955)\n- Overlap of header and tab bar [\\#1954](https://github.com/aksonov/react-native-router-flux/issues/1954)\n- componentDidMount not always get called in Tabs [\\#1953](https://github.com/aksonov/react-native-router-flux/issues/1953)\n- Styling navBar into component? Is it possible [\\#1952](https://github.com/aksonov/react-native-router-flux/issues/1952)\n- v4 proof-of-concept Example \\(WIP\\) [\\#1951](https://github.com/aksonov/react-native-router-flux/issues/1951)\n- Swipe back is not working  [\\#1950](https://github.com/aksonov/react-native-router-flux/issues/1950)\n- How to overlay RNRF Header & Footer with a FAB backdrop's props component [\\#1949](https://github.com/aksonov/react-native-router-flux/issues/1949)\n- Can I add a button to the navbar? [\\#1948](https://github.com/aksonov/react-native-router-flux/issues/1948)\n- unknown blue color bar is appeared below the navbar on changing mobile orientation from Vertical to Horizontal [\\#1947](https://github.com/aksonov/react-native-router-flux/issues/1947)\n- UNMET PEER DEPENDENCY when attempting to install with react-native 0.45.1 [\\#1946](https://github.com/aksonov/react-native-router-flux/issues/1946)\n- it  will refresh when i click the tabbar twice  [\\#1945](https://github.com/aksonov/react-native-router-flux/issues/1945)\n- How to disable Navigation transition [\\#1944](https://github.com/aksonov/react-native-router-flux/issues/1944)\n- How to create custom navigation bar [\\#1943](https://github.com/aksonov/react-native-router-flux/issues/1943)\n- Non-geographical maps support [\\#1942](https://github.com/aksonov/react-native-router-flux/issues/1942)\n- Navigation bar flashes on start [\\#1941](https://github.com/aksonov/react-native-router-flux/issues/1941)\n- How to get title in Custom Header ? [\\#1940](https://github.com/aksonov/react-native-router-flux/issues/1940)\n- App crashes with message \"Unhandled JS Exception: Native module cannot be null\" [\\#1937](https://github.com/aksonov/react-native-router-flux/issues/1937)\n- why not provide onDidFocus prop for Scene [\\#1936](https://github.com/aksonov/react-native-router-flux/issues/1936)\n- \\[Android\\] Custom header is overlaid with statusbar [\\#1934](https://github.com/aksonov/react-native-router-flux/issues/1934)\n- Cannot read property style of undefined? [\\#1933](https://github.com/aksonov/react-native-router-flux/issues/1933)\n- direction: vertical why only from down to top? [\\#1932](https://github.com/aksonov/react-native-router-flux/issues/1932)\n- renderRightButton throw this.function is not a function [\\#1931](https://github.com/aksonov/react-native-router-flux/issues/1931)\n- SceneView warning when upgrading to RN 0.45 [\\#1929](https://github.com/aksonov/react-native-router-flux/issues/1929)\n- Persist last scene using React Native Router Flux and Tabbar [\\#1928](https://github.com/aksonov/react-native-router-flux/issues/1928)\n- Feature Request: Move scene props in routes reducer to a `props` object [\\#1927](https://github.com/aksonov/react-native-router-flux/issues/1927)\n- Cannot read property 'style' of undefined [\\#1926](https://github.com/aksonov/react-native-router-flux/issues/1926)\n- how change in tabs tigger event on Component when second Switch？ [\\#1925](https://github.com/aksonov/react-native-router-flux/issues/1925)\n- Set initial scene dynamically on runtime [\\#1924](https://github.com/aksonov/react-native-router-flux/issues/1924)\n- How to refresh a scene that is not currently the active scene [\\#1923](https://github.com/aksonov/react-native-router-flux/issues/1923)\n- Is there a way to remove/delete/clear all scenes which added before? [\\#1922](https://github.com/aksonov/react-native-router-flux/issues/1922)\n- When using renderRightButton/renderLeftButton the style aren't taken in account [\\#1920](https://github.com/aksonov/react-native-router-flux/issues/1920)\n- \\[Question\\] Why use this instead of react-community/react-navigation? [\\#1919](https://github.com/aksonov/react-native-router-flux/issues/1919)\n- \\[Question\\] Before route change event [\\#1917](https://github.com/aksonov/react-native-router-flux/issues/1917)\n- navigationBarTitleImage won't display [\\#1916](https://github.com/aksonov/react-native-router-flux/issues/1916)\n- Navigation Component re-mounts when app is re-entered on android [\\#1915](https://github.com/aksonov/react-native-router-flux/issues/1915)\n- Change back button icon  to menu   [\\#1914](https://github.com/aksonov/react-native-router-flux/issues/1914)\n- Navigation stack is reset when I go to new tab and back again [\\#1913](https://github.com/aksonov/react-native-router-flux/issues/1913)\n- How to listen Actions.pop\\(\\) in the previous scene ? [\\#1912](https://github.com/aksonov/react-native-router-flux/issues/1912)\n- Router does not work if not in root [\\#1911](https://github.com/aksonov/react-native-router-flux/issues/1911)\n- Fixed element on all screens [\\#1910](https://github.com/aksonov/react-native-router-flux/issues/1910)\n- Custom Tabbar Android setting width is cut off [\\#1909](https://github.com/aksonov/react-native-router-flux/issues/1909)\n- Customer navbar pop when calling Actions.pop\\(\\) [\\#1908](https://github.com/aksonov/react-native-router-flux/issues/1908)\n- Custom animations ... how to do that ? [\\#1907](https://github.com/aksonov/react-native-router-flux/issues/1907)\n- Access tab props  [\\#1906](https://github.com/aksonov/react-native-router-flux/issues/1906)\n- Change tabbar button behaviour on second press [\\#1905](https://github.com/aksonov/react-native-router-flux/issues/1905)\n- No support for latest 16.0.0 alpha version [\\#1904](https://github.com/aksonov/react-native-router-flux/issues/1904)\n- Has `AccessibilityInfo` Error when build ios [\\#1903](https://github.com/aksonov/react-native-router-flux/issues/1903)\n- Menu Icon appears only for Initial Scene [\\#1902](https://github.com/aksonov/react-native-router-flux/issues/1902)\n- Naming Collision Issue \\(solution inside\\) [\\#1901](https://github.com/aksonov/react-native-router-flux/issues/1901)\n- how to get current top route or a route has navigated back? [\\#1899](https://github.com/aksonov/react-native-router-flux/issues/1899)\n- Use react-native-elements \\<Icon /\\> in header buttons [\\#1898](https://github.com/aksonov/react-native-router-flux/issues/1898)\n- The action to change the scene pushes a different scene [\\#1897](https://github.com/aksonov/react-native-router-flux/issues/1897)\n- How to insert a newline to Title [\\#1896](https://github.com/aksonov/react-native-router-flux/issues/1896)\n- How can I jump the page like this? [\\#1895](https://github.com/aksonov/react-native-router-flux/issues/1895)\n- not an object \\(\\_reactNative.BackHandler.addEventListener\\) [\\#1894](https://github.com/aksonov/react-native-router-flux/issues/1894)\n- BUG: Actions.pop with popNum failed [\\#1893](https://github.com/aksonov/react-native-router-flux/issues/1893)\n- No errors when I forget to specify the component property in \\<Scene\\> [\\#1890](https://github.com/aksonov/react-native-router-flux/issues/1890)\n- \\[question\\] track ending animation of route change [\\#1889](https://github.com/aksonov/react-native-router-flux/issues/1889)\n- react-native 0.44.0 update error; no such file or directory: AccessibilityInfo.ios.js [\\#1887](https://github.com/aksonov/react-native-router-flux/issues/1887)\n- undefined is not a function \\(evaluating 'fetch\\('apiurl'\\)'\\) [\\#1886](https://github.com/aksonov/react-native-router-flux/issues/1886)\n- Re-render the old scene and the new scene on push/pop [\\#1884](https://github.com/aksonov/react-native-router-flux/issues/1884)\n- Go to root scene ? It is possible to remove all screen from the memory and go the root scene  [\\#1883](https://github.com/aksonov/react-native-router-flux/issues/1883)\n- how to combine side menu bar?? [\\#1882](https://github.com/aksonov/react-native-router-flux/issues/1882)\n-  I'm looking for real 'native-looking' iOS transitions, but still unsuccessfully. I hope can Realize it。thank you very  much [\\#1881](https://github.com/aksonov/react-native-router-flux/issues/1881)\n- React native with redux REPLACE and RESET not working [\\#1880](https://github.com/aksonov/react-native-router-flux/issues/1880)\n- Animate Same Scene Transition [\\#1879](https://github.com/aksonov/react-native-router-flux/issues/1879)\n- Side menu is visible when changing pages/ going to the previous page on android  [\\#1878](https://github.com/aksonov/react-native-router-flux/issues/1878)\n- Back button action [\\#1877](https://github.com/aksonov/react-native-router-flux/issues/1877)\n- Apple tv compatibility [\\#1876](https://github.com/aksonov/react-native-router-flux/issues/1876)\n- A question about Actions.pop\\({refresh: {...}}\\) [\\#1875](https://github.com/aksonov/react-native-router-flux/issues/1875)\n- Passing props to scenes [\\#1873](https://github.com/aksonov/react-native-router-flux/issues/1873)\n- \\[question\\] how to change in tabs without reload scene [\\#1872](https://github.com/aksonov/react-native-router-flux/issues/1872)\n- Focus not being dispatched when changing scene [\\#1871](https://github.com/aksonov/react-native-router-flux/issues/1871)\n- Scenes inside tabs \\(switch\\) getting corrently unmounted and then incorrectly re-mounted [\\#1870](https://github.com/aksonov/react-native-router-flux/issues/1870)\n- Handling the Android hardware back scene popping in chronological order [\\#1869](https://github.com/aksonov/react-native-router-flux/issues/1869)\n- `-- UNMET PEER DEPENDENCY react@15.5.4 [\\#1868](https://github.com/aksonov/react-native-router-flux/issues/1868)\n- \\[Urgent\\] How to get CurrentScene? [\\#1867](https://github.com/aksonov/react-native-router-flux/issues/1867)\n- Removed react-native-router-flux but still getting error [\\#1866](https://github.com/aksonov/react-native-router-flux/issues/1866)\n- Modal. Type should not be null.  [\\#1865](https://github.com/aksonov/react-native-router-flux/issues/1865)\n- Cannot read property 'component' of undefined [\\#1864](https://github.com/aksonov/react-native-router-flux/issues/1864)\n- Can't open scene with params, still open without [\\#1863](https://github.com/aksonov/react-native-router-flux/issues/1863)\n- Android assemble cannot package [\\#1861](https://github.com/aksonov/react-native-router-flux/issues/1861)\n- undefined is not an object \\_reactNative.NavigationExperimental.CardStack \\(NavigationExperimental deprecated\\) [\\#1860](https://github.com/aksonov/react-native-router-flux/issues/1860)\n- Can not go to container Scene [\\#1859](https://github.com/aksonov/react-native-router-flux/issues/1859)\n- Wrong CurrentRoute \\(scene\\) on ActionConst.FOCUS [\\#1858](https://github.com/aksonov/react-native-router-flux/issues/1858)\n- Switch shows first item for a while [\\#1857](https://github.com/aksonov/react-native-router-flux/issues/1857)\n- RCTConvert CATransform3D warning on transitioning between scenes [\\#1856](https://github.com/aksonov/react-native-router-flux/issues/1856)\n- Back to tab Scene not work! [\\#1855](https://github.com/aksonov/react-native-router-flux/issues/1855)\n- Navbar is unmounted and mounted with every scene transition [\\#1854](https://github.com/aksonov/react-native-router-flux/issues/1854)\n- Where can you detect scene changes to throw up an error before the scene changes if the page is not valid? [\\#1853](https://github.com/aksonov/react-native-router-flux/issues/1853)\n- Which component method gets called when pop is called? [\\#1852](https://github.com/aksonov/react-native-router-flux/issues/1852)\n- Scene Animation [\\#1851](https://github.com/aksonov/react-native-router-flux/issues/1851)\n- \\_reactNativeRouterFlux.Actions.xxx is not a function in Android  [\\#1850](https://github.com/aksonov/react-native-router-flux/issues/1850)\n- EventPluginUtils.getLowestCommonAncestor not a function error [\\#1849](https://github.com/aksonov/react-native-router-flux/issues/1849)\n- Android back soft button on navigation bar removes tab [\\#1848](https://github.com/aksonov/react-native-router-flux/issues/1848)\n- Bundling error [\\#1847](https://github.com/aksonov/react-native-router-flux/issues/1847)\n- Navigate to an other page error undefined is not object  [\\#1846](https://github.com/aksonov/react-native-router-flux/issues/1846)\n- Drawerlayout android, openDrawer [\\#1845](https://github.com/aksonov/react-native-router-flux/issues/1845)\n- Is it possible to create dynamic tabbar icon,title which listens redux state? [\\#1844](https://github.com/aksonov/react-native-router-flux/issues/1844)\n- Warning: BackAndroid is deprecated.  Please use BackHandler instead. [\\#1842](https://github.com/aksonov/react-native-router-flux/issues/1842)\n- Using it with React-native-Tab-View \\(question\\)  [\\#1841](https://github.com/aksonov/react-native-router-flux/issues/1841)\n- conflict react-native version with your router-flux dependencies's react-native version 0.41.2 [\\#1839](https://github.com/aksonov/react-native-router-flux/issues/1839)\n- Actions.currentRouter.currentRoute throwing 'undefined is not an object' [\\#1836](https://github.com/aksonov/react-native-router-flux/issues/1836)\n- Help: Cannot resolve symbol Actions [\\#1835](https://github.com/aksonov/react-native-router-flux/issues/1835)\n- How can I use refs to active scene component from Outer Component  [\\#1834](https://github.com/aksonov/react-native-router-flux/issues/1834)\n- How can I position an overlay layer on top of the navbar? [\\#1833](https://github.com/aksonov/react-native-router-flux/issues/1833)\n- No dimension set for key window [\\#1832](https://github.com/aksonov/react-native-router-flux/issues/1832)\n- jsc-heap-capture name collision [\\#1830](https://github.com/aksonov/react-native-router-flux/issues/1830)\n- Need all  {renderBackButton\\(navProps\\)}   {renderLeftButton\\(navProps\\)} {renderRightButton\\(navProps\\)} for Nav bar [\\#1829](https://github.com/aksonov/react-native-router-flux/issues/1829)\n- RecyclerViewBackedScrollView - unable to resolve module [\\#1828](https://github.com/aksonov/react-native-router-flux/issues/1828)\n- My scene is not unmount [\\#1825](https://github.com/aksonov/react-native-router-flux/issues/1825)\n- Sometimes iOS statusbar disappears? [\\#1824](https://github.com/aksonov/react-native-router-flux/issues/1824)\n- Double touch TabIcon will remount the page [\\#1823](https://github.com/aksonov/react-native-router-flux/issues/1823)\n- @providesModule naming collision error after installing react-native-router-flux [\\#1816](https://github.com/aksonov/react-native-router-flux/issues/1816)\n- Conditional first scene rendering with redux. [\\#1814](https://github.com/aksonov/react-native-router-flux/issues/1814)\n- reactNativeRouterFlux.Actions.xxx is not a function [\\#1813](https://github.com/aksonov/react-native-router-flux/issues/1813)\n- ERROR: UNMET PEER DEPENDENCY react@15.5.4 [\\#1811](https://github.com/aksonov/react-native-router-flux/issues/1811)\n- Snapshot test error because of react-native-router-flux [\\#1810](https://github.com/aksonov/react-native-router-flux/issues/1810)\n-  Duplicate module name: react-native-packager [\\#1809](https://github.com/aksonov/react-native-router-flux/issues/1809)\n- Accessing PropTypes via the main React package is deprecated. Use the prop-types package from npm instead. [\\#1807](https://github.com/aksonov/react-native-router-flux/issues/1807)\n- Can we make a release? [\\#1804](https://github.com/aksonov/react-native-router-flux/issues/1804)\n- Duplicate versions of react-native being installed [\\#1803](https://github.com/aksonov/react-native-router-flux/issues/1803)\n- \\[Question\\] Best way to implement \"onLeft\\(\\)\" and \"onRight\\(\\)\" logic inside the scene's component [\\#1802](https://github.com/aksonov/react-native-router-flux/issues/1802)\n- From Nested Scene To Other Nested Scene Navigate [\\#1801](https://github.com/aksonov/react-native-router-flux/issues/1801)\n- Using a custom onBack callback it doesnt called by android back button [\\#1800](https://github.com/aksonov/react-native-router-flux/issues/1800)\n- popTo initial scene visibly shows scenes in between as well [\\#1799](https://github.com/aksonov/react-native-router-flux/issues/1799)\n- resetTo and immediatelyResetRouteStack action types [\\#1798](https://github.com/aksonov/react-native-router-flux/issues/1798)\n- NavigationDrawer wrong behavior on the Example app [\\#1795](https://github.com/aksonov/react-native-router-flux/issues/1795)\n- Tabs don't render when passing scenes prop into Router [\\#1793](https://github.com/aksonov/react-native-router-flux/issues/1793)\n- Help me plz: navbar render not correct [\\#1792](https://github.com/aksonov/react-native-router-flux/issues/1792)\n- Incorrect screens render [\\#1791](https://github.com/aksonov/react-native-router-flux/issues/1791)\n- Modal Stuck Open, can't Actions.pop\\(\\) [\\#1789](https://github.com/aksonov/react-native-router-flux/issues/1789)\n- Style property 'left' is not supported by native animated module [\\#1787](https://github.com/aksonov/react-native-router-flux/issues/1787)\n- When using Switch, unmountScenes disables child tabs in v3.38.0 [\\#1786](https://github.com/aksonov/react-native-router-flux/issues/1786)\n- Actions.pop\\(\\) doesn't work when pushing same scene over itself with different props [\\#1785](https://github.com/aksonov/react-native-router-flux/issues/1785)\n- is it possible to render modal, from the action inside of another modal [\\#1784](https://github.com/aksonov/react-native-router-flux/issues/1784)\n- New Screen is presented behind Modal [\\#1783](https://github.com/aksonov/react-native-router-flux/issues/1783)\n- react-addons-pure-render-mixin not found [\\#1780](https://github.com/aksonov/react-native-router-flux/issues/1780)\n- Make switch selector accept a promise! [\\#1779](https://github.com/aksonov/react-native-router-flux/issues/1779)\n- this.props.position.interpolate is not a function [\\#1777](https://github.com/aksonov/react-native-router-flux/issues/1777)\n- Router's sceneStyle gets applied to header within a Drawer wrapper [\\#1774](https://github.com/aksonov/react-native-router-flux/issues/1774)\n- \\[HowTo\\] Dynamic hide/show NavBar [\\#1773](https://github.com/aksonov/react-native-router-flux/issues/1773)\n- Nested Navigators [\\#1771](https://github.com/aksonov/react-native-router-flux/issues/1771)\n- Multiple screens in a tab [\\#1770](https://github.com/aksonov/react-native-router-flux/issues/1770)\n- Action.pop: Refresh only a specific section in render [\\#1768](https://github.com/aksonov/react-native-router-flux/issues/1768)\n- hideNavBar on iOS problem [\\#1764](https://github.com/aksonov/react-native-router-flux/issues/1764)\n- How can I access state within renderNavigationBar? [\\#1763](https://github.com/aksonov/react-native-router-flux/issues/1763)\n- Swipe back gesture  [\\#1762](https://github.com/aksonov/react-native-router-flux/issues/1762)\n- Error with the latest version of React Native 0.43.0 [\\#1761](https://github.com/aksonov/react-native-router-flux/issues/1761)\n- Can Actions.SCENE\\_NAME\\({type: replace | reset}\\) not remove transition animations  [\\#1760](https://github.com/aksonov/react-native-router-flux/issues/1760)\n- Warning to define onRight method gets raised regardless  [\\#1757](https://github.com/aksonov/react-native-router-flux/issues/1757)\n- Question: How to detect the \"pop\"-Action on a pushed scene? [\\#1755](https://github.com/aksonov/react-native-router-flux/issues/1755)\n- close modal and a scene by once [\\#1754](https://github.com/aksonov/react-native-router-flux/issues/1754)\n- direction and type do not work together [\\#1753](https://github.com/aksonov/react-native-router-flux/issues/1753)\n- Scene component and navBar do not work together [\\#1752](https://github.com/aksonov/react-native-router-flux/issues/1752)\n- I have Query Can anyone Help me ?? [\\#1751](https://github.com/aksonov/react-native-router-flux/issues/1751)\n- Help With Drawer Menu [\\#1750](https://github.com/aksonov/react-native-router-flux/issues/1750)\n- Intercept Navigation.pop\\(\\) [\\#1749](https://github.com/aksonov/react-native-router-flux/issues/1749)\n- Is Actions.dismiss\\(\\) no longer a thing? [\\#1747](https://github.com/aksonov/react-native-router-flux/issues/1747)\n- Configuring Initial scene view through router tag [\\#1746](https://github.com/aksonov/react-native-router-flux/issues/1746)\n- Back button and fetching data [\\#1745](https://github.com/aksonov/react-native-router-flux/issues/1745)\n- Can't Pass Class to renderLeftButton [\\#1743](https://github.com/aksonov/react-native-router-flux/issues/1743)\n- Close Modal and redirect to another scene only works once [\\#1741](https://github.com/aksonov/react-native-router-flux/issues/1741)\n- \\[Help me\\] fixed bottom player like Apple Music all scene [\\#1740](https://github.com/aksonov/react-native-router-flux/issues/1740)\n- How to share same component across views without redeclaring it ? [\\#1737](https://github.com/aksonov/react-native-router-flux/issues/1737)\n- How can I run example app? [\\#1736](https://github.com/aksonov/react-native-router-flux/issues/1736)\n- Shared Element Transitions? [\\#1735](https://github.com/aksonov/react-native-router-flux/issues/1735)\n- Android hardware back button not working after Actions.main\\({type: 'replace'}\\) [\\#1734](https://github.com/aksonov/react-native-router-flux/issues/1734)\n- redirect from sub-scene  [\\#1733](https://github.com/aksonov/react-native-router-flux/issues/1733)\n- Calling Action.pop and redux change after each other [\\#1732](https://github.com/aksonov/react-native-router-flux/issues/1732)\n- Root Component that wrap all routes [\\#1730](https://github.com/aksonov/react-native-router-flux/issues/1730)\n- Action.refresh\\(\\) for Switch in Example does not work [\\#1729](https://github.com/aksonov/react-native-router-flux/issues/1729)\n- How to disable Swipe-Down-To-Close at modal or just close when not scrolled [\\#1728](https://github.com/aksonov/react-native-router-flux/issues/1728)\n- How to add two Actions to a Button ?  [\\#1727](https://github.com/aksonov/react-native-router-flux/issues/1727)\n- tabs re-rendering when switching in 3.38.0 [\\#1725](https://github.com/aksonov/react-native-router-flux/issues/1725)\n- rightTitle-Attribute on a specific scene renders the right title also on ALL other scenes. [\\#1724](https://github.com/aksonov/react-native-router-flux/issues/1724)\n- How to open scene with Drawer? [\\#1723](https://github.com/aksonov/react-native-router-flux/issues/1723)\n- How can I retain parent navbar when switching tabs? [\\#1722](https://github.com/aksonov/react-native-router-flux/issues/1722)\n- How to automatically display the return title [\\#1721](https://github.com/aksonov/react-native-router-flux/issues/1721)\n- How to navigate to specific tab with resetting [\\#1719](https://github.com/aksonov/react-native-router-flux/issues/1719)\n- remove animation on back/close transition with duration={1} \\(NOT working\\) [\\#1718](https://github.com/aksonov/react-native-router-flux/issues/1718)\n- \\[Topic\\]Navigator perform slowly and NavigationExperimental will be deprecated in RN0.43 [\\#1717](https://github.com/aksonov/react-native-router-flux/issues/1717)\n- pop back and trigger another callback [\\#1716](https://github.com/aksonov/react-native-router-flux/issues/1716)\n- Gesture threshold problem [\\#1715](https://github.com/aksonov/react-native-router-flux/issues/1715)\n- action.pop\\(\\) is used at the same time previous page are refreshed [\\#1713](https://github.com/aksonov/react-native-router-flux/issues/1713)\n- Tabbar gesture back displaying wrong scene in the background [\\#1711](https://github.com/aksonov/react-native-router-flux/issues/1711)\n- Remove `react-static-container` dependency [\\#1710](https://github.com/aksonov/react-native-router-flux/issues/1710)\n- How to render initial or RESET/REPLACE scenes with animation? [\\#1709](https://github.com/aksonov/react-native-router-flux/issues/1709)\n- When going from tab to tab, how do I get the previous tab? [\\#1707](https://github.com/aksonov/react-native-router-flux/issues/1707)\n- Unable to resolve module react-native-router-flux [\\#1706](https://github.com/aksonov/react-native-router-flux/issues/1706)\n- Router createReducer and reducer confusion [\\#1704](https://github.com/aksonov/react-native-router-flux/issues/1704)\n- Prevent Tab Press from popping to Initial Scene [\\#1703](https://github.com/aksonov/react-native-router-flux/issues/1703)\n- How to combine Router and navigation Drawer? [\\#1702](https://github.com/aksonov/react-native-router-flux/issues/1702)\n- Cannot read property 'hideTabBar' of undefined [\\#1701](https://github.com/aksonov/react-native-router-flux/issues/1701)\n- render is overlapping with previous screen data [\\#1700](https://github.com/aksonov/react-native-router-flux/issues/1700)\n- Question: Using React Native Material Icon for Navigation Bar \\(left, right, and back buttons\\) [\\#1699](https://github.com/aksonov/react-native-router-flux/issues/1699)\n- Can't run Example: Print: Entry, \":CFBundleIdentifier\", Does Not Exist [\\#1698](https://github.com/aksonov/react-native-router-flux/issues/1698)\n- Nested tab scene causes navigation to break [\\#1697](https://github.com/aksonov/react-native-router-flux/issues/1697)\n- Switching between animated scenes eventually grinds Android to a halt [\\#1696](https://github.com/aksonov/react-native-router-flux/issues/1696)\n- Can't go back using Swipe left if the actual scene contains an Animated.View. [\\#1693](https://github.com/aksonov/react-native-router-flux/issues/1693)\n- Screen disappears after screen orientation rotation and subsequently crashes [\\#1677](https://github.com/aksonov/react-native-router-flux/issues/1677)\n- Actions.pop\\({ key: 'scene' }\\) should be documented [\\#1676](https://github.com/aksonov/react-native-router-flux/issues/1676)\n- Questions about callback [\\#1656](https://github.com/aksonov/react-native-router-flux/issues/1656)\n- Add interactive / gif demo and examples [\\#1654](https://github.com/aksonov/react-native-router-flux/issues/1654)\n- Crashing on Actions.pop\\(\\) on android [\\#1636](https://github.com/aksonov/react-native-router-flux/issues/1636)\n- \\[Documentation\\] Add screenshots of differents Tab/Nav/Drawer [\\#1628](https://github.com/aksonov/react-native-router-flux/issues/1628)\n- Swiping a direction=\"vertical\" Scene down only by its header or custom component [\\#1605](https://github.com/aksonov/react-native-router-flux/issues/1605)\n- Route pushing not behaving as expected [\\#1602](https://github.com/aksonov/react-native-router-flux/issues/1602)\n- \\[documentation\\] Give more technical information about the navigation types [\\#1601](https://github.com/aksonov/react-native-router-flux/issues/1601)\n- NavBar from previous Scene comes from left to right after closing Modal. [\\#1600](https://github.com/aksonov/react-native-router-flux/issues/1600)\n- Incorrect FOCUS actions being dispatched for tabs [\\#1597](https://github.com/aksonov/react-native-router-flux/issues/1597)\n- Custom navBar examples and docs [\\#1596](https://github.com/aksonov/react-native-router-flux/issues/1596)\n- `popTo` and other pop actions modify the behaviour of subsequent actions [\\#1594](https://github.com/aksonov/react-native-router-flux/issues/1594)\n- Snapchat like navigation with swipe [\\#1593](https://github.com/aksonov/react-native-router-flux/issues/1593)\n- auth [\\#1591](https://github.com/aksonov/react-native-router-flux/issues/1591)\n- Objects are not valid as a React child [\\#1589](https://github.com/aksonov/react-native-router-flux/issues/1589)\n- Nested navigators in tabbars [\\#1587](https://github.com/aksonov/react-native-router-flux/issues/1587)\n- Question: How to add a scene to the stack without actually visiting it? [\\#1583](https://github.com/aksonov/react-native-router-flux/issues/1583)\n- Scene.key conflicts with `PUSH` and `JUMP` with Tabbar [\\#1582](https://github.com/aksonov/react-native-router-flux/issues/1582)\n- Cannot Style Tabs Text Component [\\#1581](https://github.com/aksonov/react-native-router-flux/issues/1581)\n- Pop action difference between Android and iOS [\\#1578](https://github.com/aksonov/react-native-router-flux/issues/1578)\n- How can I position a view to be on top of the navbar? [\\#1575](https://github.com/aksonov/react-native-router-flux/issues/1575)\n- Showing Spinner view using react-native-router [\\#1574](https://github.com/aksonov/react-native-router-flux/issues/1574)\n- Is it possible to use the tabbar like Facebook ? [\\#1573](https://github.com/aksonov/react-native-router-flux/issues/1573)\n- Docs Error: Missing Parenthesis? [\\#1572](https://github.com/aksonov/react-native-router-flux/issues/1572)\n- \\[ANDROID\\] Pop modal doesnt remove itself from screen [\\#1571](https://github.com/aksonov/react-native-router-flux/issues/1571)\n- Tabbar sometimes is pushed up by the keyboard. [\\#1569](https://github.com/aksonov/react-native-router-flux/issues/1569)\n- Switch does focus first tab and only then jumps to required tab [\\#1568](https://github.com/aksonov/react-native-router-flux/issues/1568)\n- iOS Nav Bar fail to refresh on tab change [\\#1567](https://github.com/aksonov/react-native-router-flux/issues/1567)\n- master-detail example [\\#1565](https://github.com/aksonov/react-native-router-flux/issues/1565)\n- Drawer just in first page [\\#1563](https://github.com/aksonov/react-native-router-flux/issues/1563)\n- \\[question\\] Reset a tab routes while on another tab [\\#1562](https://github.com/aksonov/react-native-router-flux/issues/1562)\n- After that history stack reset in tab bar, other tabs are not visible [\\#1560](https://github.com/aksonov/react-native-router-flux/issues/1560)\n- \\[question\\] How to layout tab scenes to get animation? [\\#1558](https://github.com/aksonov/react-native-router-flux/issues/1558)\n- Dynamic changing title tabbar [\\#1557](https://github.com/aksonov/react-native-router-flux/issues/1557)\n- Navigation Bar: Back button NoStyling [\\#1556](https://github.com/aksonov/react-native-router-flux/issues/1556)\n- Right text tilte is not center aligned [\\#1555](https://github.com/aksonov/react-native-router-flux/issues/1555)\n- hideNavBar does not work [\\#1554](https://github.com/aksonov/react-native-router-flux/issues/1554)\n- Please add native animation support \\(better performance\\) [\\#1553](https://github.com/aksonov/react-native-router-flux/issues/1553)\n- Structure of routers [\\#1550](https://github.com/aksonov/react-native-router-flux/issues/1550)\n- Why doesn't navbar left button override back button? [\\#1547](https://github.com/aksonov/react-native-router-flux/issues/1547)\n- How to go back to Login again? [\\#1545](https://github.com/aksonov/react-native-router-flux/issues/1545)\n- Changing navBars [\\#1544](https://github.com/aksonov/react-native-router-flux/issues/1544)\n- Multiple Routers [\\#1541](https://github.com/aksonov/react-native-router-flux/issues/1541)\n- how to set transition animation [\\#1540](https://github.com/aksonov/react-native-router-flux/issues/1540)\n- display white screen or hold last state when faster interaction which trigger push [\\#1539](https://github.com/aksonov/react-native-router-flux/issues/1539)\n- Event triggered when routing [\\#1538](https://github.com/aksonov/react-native-router-flux/issues/1538)\n- Painfully slow on iPhone 6, Android, \\(fast on iPhone 7\\) [\\#1536](https://github.com/aksonov/react-native-router-flux/issues/1536)\n- Ask For Help: how to Switch to another scene with Switch [\\#1533](https://github.com/aksonov/react-native-router-flux/issues/1533)\n- How to Action.pop\\(\\) without animation in a \\<Scene /\\>, not hold project. I've set duration={0} but it won't work. Many thanks! [\\#1532](https://github.com/aksonov/react-native-router-flux/issues/1532)\n- Performance issue [\\#1531](https://github.com/aksonov/react-native-router-flux/issues/1531)\n- Scene's Not \"connected\" to Redux store. Can't mapStateToProps [\\#1530](https://github.com/aksonov/react-native-router-flux/issues/1530)\n- Cannot change TabBar's NavBar background color [\\#1529](https://github.com/aksonov/react-native-router-flux/issues/1529)\n- Is there a doc about what ActionConst do? [\\#1520](https://github.com/aksonov/react-native-router-flux/issues/1520)\n- Use tabbar the tab use the same component I get data in the componentDidmount but entered page is not enter componentDidmount, so it's not re-render page [\\#1518](https://github.com/aksonov/react-native-router-flux/issues/1518)\n- Disable backButton from navigationBar on tabs [\\#1517](https://github.com/aksonov/react-native-router-flux/issues/1517)\n- How to pass props from navbar to another page? [\\#1516](https://github.com/aksonov/react-native-router-flux/issues/1516)\n- Question: Is there a way to show/hide navBar's rightButton through dispatch? [\\#1513](https://github.com/aksonov/react-native-router-flux/issues/1513)\n- Force scene re render on back action [\\#1510](https://github.com/aksonov/react-native-router-flux/issues/1510)\n- Custom Icon on Drawer NOT working [\\#1507](https://github.com/aksonov/react-native-router-flux/issues/1507)\n- Stop iOS accessibility Voiceover to access items that are not rendered [\\#1506](https://github.com/aksonov/react-native-router-flux/issues/1506)\n- I want to set the animation when tab to different scene,but the 'duration' and ‘direction’ doesn't work? [\\#1505](https://github.com/aksonov/react-native-router-flux/issues/1505)\n- Component Mounting Twice After React Native 0.39 upgrade with IOS 9.2 [\\#1504](https://github.com/aksonov/react-native-router-flux/issues/1504)\n- I'm planning to write a doc on dynamic tabs manipulation on TabBar. Shall I start working on this? [\\#1503](https://github.com/aksonov/react-native-router-flux/issues/1503)\n- Modal just rendering the half [\\#1502](https://github.com/aksonov/react-native-router-flux/issues/1502)\n- Get title from custom navigator [\\#1500](https://github.com/aksonov/react-native-router-flux/issues/1500)\n- Shoutem dropdown + RNRF navbar [\\#1499](https://github.com/aksonov/react-native-router-flux/issues/1499)\n- Artificial scene stack \\(history\\) [\\#1498](https://github.com/aksonov/react-native-router-flux/issues/1498)\n- react- native version 0.38, react-native router-flux version 3.37   [\\#1496](https://github.com/aksonov/react-native-router-flux/issues/1496)\n- Getting undefined is not a function on Android only [\\#1495](https://github.com/aksonov/react-native-router-flux/issues/1495)\n- How to have the navbar with classic iOS style? [\\#1493](https://github.com/aksonov/react-native-router-flux/issues/1493)\n- Trigger component logic upon navigating to a different tab [\\#1492](https://github.com/aksonov/react-native-router-flux/issues/1492)\n- How to unmount a scene when push to it and pop from it [\\#1491](https://github.com/aksonov/react-native-router-flux/issues/1491)\n- Render element between navBar and the route component [\\#1490](https://github.com/aksonov/react-native-router-flux/issues/1490)\n- Custom NavBar doesn't appear [\\#1489](https://github.com/aksonov/react-native-router-flux/issues/1489)\n- Disable title slide animation while using 'fade' animation [\\#1487](https://github.com/aksonov/react-native-router-flux/issues/1487)\n- Native-base content being overlayed by navigation bar [\\#1486](https://github.com/aksonov/react-native-router-flux/issues/1486)\n- Scene inside a Scene how to navigate [\\#1484](https://github.com/aksonov/react-native-router-flux/issues/1484)\n- How to dynamically set initial scene via state [\\#1483](https://github.com/aksonov/react-native-router-flux/issues/1483)\n- OnLeftRoute event [\\#1481](https://github.com/aksonov/react-native-router-flux/issues/1481)\n- Scenes are not removed from nav stack when moving between tabs [\\#1480](https://github.com/aksonov/react-native-router-flux/issues/1480)\n- how should I custom animation of 3.x version [\\#1478](https://github.com/aksonov/react-native-router-flux/issues/1478)\n- Drawer could not work well in the second and later login [\\#1477](https://github.com/aksonov/react-native-router-flux/issues/1477)\n- navigation state show correct index? [\\#1475](https://github.com/aksonov/react-native-router-flux/issues/1475)\n- Pushing to scene with tabs loses navbar [\\#1473](https://github.com/aksonov/react-native-router-flux/issues/1473)\n- Transition when touching the title [\\#1471](https://github.com/aksonov/react-native-router-flux/issues/1471)\n- Custom NavBar doesn't move to top position [\\#1470](https://github.com/aksonov/react-native-router-flux/issues/1470)\n- Missing assets React Native Windows \\(UWP\\) [\\#1468](https://github.com/aksonov/react-native-router-flux/issues/1468)\n- Example app transitions are very very slow on iphone 6 sim [\\#1467](https://github.com/aksonov/react-native-router-flux/issues/1467)\n- view is not re-rendered when click button too fast [\\#1466](https://github.com/aksonov/react-native-router-flux/issues/1466)\n- duplicated StaticContainer on `flow check` [\\#1465](https://github.com/aksonov/react-native-router-flux/issues/1465)\n- warning: \"'useNativeDriver' is not supported\" when \"Back\" button is pressed [\\#1464](https://github.com/aksonov/react-native-router-flux/issues/1464)\n- Can't custom the tab bar icon with title? [\\#1463](https://github.com/aksonov/react-native-router-flux/issues/1463)\n- White lines flickering around edges during transitions [\\#1460](https://github.com/aksonov/react-native-router-flux/issues/1460)\n- how can  refresh parent component when child component is poped  [\\#1458](https://github.com/aksonov/react-native-router-flux/issues/1458)\n- How to use the drawer with the navigator any example? [\\#1456](https://github.com/aksonov/react-native-router-flux/issues/1456)\n- Custom nav bar for individual scene or even different state of scene \\(new feature [\\#1453](https://github.com/aksonov/react-native-router-flux/issues/1453)\n- Nested tabs [\\#1452](https://github.com/aksonov/react-native-router-flux/issues/1452)\n- about react native scene tabs, discussion, do we need to fork? [\\#1449](https://github.com/aksonov/react-native-router-flux/issues/1449)\n- how to change NavigationDrawer icon [\\#1448](https://github.com/aksonov/react-native-router-flux/issues/1448)\n- renderRightButton renders multiple times in Android [\\#1447](https://github.com/aksonov/react-native-router-flux/issues/1447)\n- Collapsing drawer when navigating away? [\\#1445](https://github.com/aksonov/react-native-router-flux/issues/1445)\n- How to create a global component like message or loading [\\#1443](https://github.com/aksonov/react-native-router-flux/issues/1443)\n- How to implement custom scene renderer? [\\#1442](https://github.com/aksonov/react-native-router-flux/issues/1442)\n- Scene.type docs [\\#1441](https://github.com/aksonov/react-native-router-flux/issues/1441)\n- Feature Request: Nested Components [\\#1440](https://github.com/aksonov/react-native-router-flux/issues/1440)\n- How to show a modal with custom NavBar? [\\#1438](https://github.com/aksonov/react-native-router-flux/issues/1438)\n- Scenes are unmounted late [\\#1437](https://github.com/aksonov/react-native-router-flux/issues/1437)\n- Why don't work scens after auth? [\\#1436](https://github.com/aksonov/react-native-router-flux/issues/1436)\n- Back button appearing in root of navbar scenario [\\#1433](https://github.com/aksonov/react-native-router-flux/issues/1433)\n- How to: Screen Transition which looks like element of current scene is expanding to full screen [\\#1432](https://github.com/aksonov/react-native-router-flux/issues/1432)\n- Inconsistency scene duration and animation [\\#1431](https://github.com/aksonov/react-native-router-flux/issues/1431)\n- How to flip back button in RTL Layout [\\#1430](https://github.com/aksonov/react-native-router-flux/issues/1430)\n- duration ignored when passed to Action [\\#1428](https://github.com/aksonov/react-native-router-flux/issues/1428)\n- Navigating to another  route re-renders the current route [\\#1427](https://github.com/aksonov/react-native-router-flux/issues/1427)\n- React Native Drawer does not respond to onTouchDrag or: How to make it work [\\#1424](https://github.com/aksonov/react-native-router-flux/issues/1424)\n- backandroid jump between tabs [\\#1421](https://github.com/aksonov/react-native-router-flux/issues/1421)\n- default custom renderRightButton [\\#1417](https://github.com/aksonov/react-native-router-flux/issues/1417)\n- Modal as overlay\\(transparent bg\\) not as new screen [\\#1411](https://github.com/aksonov/react-native-router-flux/issues/1411)\n- Recommended Way to Transition a Component within a Scene [\\#1409](https://github.com/aksonov/react-native-router-flux/issues/1409)\n- backAndroidHandler/onBackAndroid/onExitApp not triggered on Actions.refresh [\\#1405](https://github.com/aksonov/react-native-router-flux/issues/1405)\n- Navigator scene config problem [\\#1403](https://github.com/aksonov/react-native-router-flux/issues/1403)\n- push new version \\(3.35.1\\) to update index.d.ts typings [\\#1402](https://github.com/aksonov/react-native-router-flux/issues/1402)\n- animation on reset [\\#1399](https://github.com/aksonov/react-native-router-flux/issues/1399)\n- How can I do conditional navigation when user launch app from deepLink or Notifications [\\#1398](https://github.com/aksonov/react-native-router-flux/issues/1398)\n- Where is the documentation for DefaultRenderer? [\\#1396](https://github.com/aksonov/react-native-router-flux/issues/1396)\n- tab bar Icons wont display  [\\#1395](https://github.com/aksonov/react-native-router-flux/issues/1395)\n- About tabbar [\\#1394](https://github.com/aksonov/react-native-router-flux/issues/1394)\n- No navigation bar is displayed when using Drawer with modal [\\#1393](https://github.com/aksonov/react-native-router-flux/issues/1393)\n- Props passed through route remain static [\\#1389](https://github.com/aksonov/react-native-router-flux/issues/1389)\n- how to fit/constrain background image into nav bar ? [\\#1387](https://github.com/aksonov/react-native-router-flux/issues/1387)\n- Back Button not displayed as expected [\\#1385](https://github.com/aksonov/react-native-router-flux/issues/1385)\n- how can i close the drawer in designated page? [\\#1384](https://github.com/aksonov/react-native-router-flux/issues/1384)\n- When navigating, why the navigation bar's height is changing? [\\#1382](https://github.com/aksonov/react-native-router-flux/issues/1382)\n- Problem about pop and refresh [\\#1381](https://github.com/aksonov/react-native-router-flux/issues/1381)\n- how can i get the current scene by redux [\\#1378](https://github.com/aksonov/react-native-router-flux/issues/1378)\n- Disable swipe back gesture without disabling all gestures [\\#1376](https://github.com/aksonov/react-native-router-flux/issues/1376)\n- hide navbar and bottom tab bar on scroll [\\#1374](https://github.com/aksonov/react-native-router-flux/issues/1374)\n- Why doesn't Modal dispatch ActionConst.FOCUS? [\\#1373](https://github.com/aksonov/react-native-router-flux/issues/1373)\n- Navbar buttons top offset is not the same [\\#1369](https://github.com/aksonov/react-native-router-flux/issues/1369)\n- Render different tabs based on condition \\(isLogged\\) [\\#1367](https://github.com/aksonov/react-native-router-flux/issues/1367)\n- How to push a scene while resetting the stack \\*\\*except\\*\\* the initial scene? [\\#1365](https://github.com/aksonov/react-native-router-flux/issues/1365)\n- Not able to access any function after override left or right button at own component level [\\#1364](https://github.com/aksonov/react-native-router-flux/issues/1364)\n- About hideNavBar property. [\\#1363](https://github.com/aksonov/react-native-router-flux/issues/1363)\n- Typescript Definition problem [\\#1361](https://github.com/aksonov/react-native-router-flux/issues/1361)\n- RouterWithRedux maps only initial state mapStateToProps, but never updates changes as actions are dispatched and reducer changed the state. [\\#1359](https://github.com/aksonov/react-native-router-flux/issues/1359)\n- Update react-native-experimental-navigation [\\#1358](https://github.com/aksonov/react-native-router-flux/issues/1358)\n- ActionConst.PUSH scene data [\\#1357](https://github.com/aksonov/react-native-router-flux/issues/1357)\n- Add support for react-native-windows [\\#1356](https://github.com/aksonov/react-native-router-flux/issues/1356)\n- Pass function from component to navbar [\\#1355](https://github.com/aksonov/react-native-router-flux/issues/1355)\n- Hide drawer/hamburger button in NavBar [\\#1353](https://github.com/aksonov/react-native-router-flux/issues/1353)\n- Can not read property '\\<functionname\\>' of undefined when using onBack in prerendered scenes [\\#1352](https://github.com/aksonov/react-native-router-flux/issues/1352)\n- renderLeftButton not working if navbar placed at bottom [\\#1351](https://github.com/aksonov/react-native-router-flux/issues/1351)\n- add passProps to root Scene cause tabs to not working well [\\#1350](https://github.com/aksonov/react-native-router-flux/issues/1350)\n- Update state when navigating back to a scene [\\#1349](https://github.com/aksonov/react-native-router-flux/issues/1349)\n- navBar contents is not rendered with navigationBarBackgroundImage [\\#1348](https://github.com/aksonov/react-native-router-flux/issues/1348)\n- Navigation is not smooth [\\#1343](https://github.com/aksonov/react-native-router-flux/issues/1343)\n- Chevron showing even after using NavigationAction.foo\\({type: \"reset\"}\\) [\\#1342](https://github.com/aksonov/react-native-router-flux/issues/1342)\n- Pop then push [\\#1341](https://github.com/aksonov/react-native-router-flux/issues/1341)\n- RouterWithRedux HotReload not working [\\#1339](https://github.com/aksonov/react-native-router-flux/issues/1339)\n- Tab navigation [\\#1337](https://github.com/aksonov/react-native-router-flux/issues/1337)\n- rightButtonImage with imagesource not working [\\#1335](https://github.com/aksonov/react-native-router-flux/issues/1335)\n- Nested Scenes with 2 successive hideNavBar Scenes causes all other Scenes  not to have Nav Bar [\\#1330](https://github.com/aksonov/react-native-router-flux/issues/1330)\n- Receiving \"synthetic event is reused\" warning when navigating between scenes using redux sample code [\\#1328](https://github.com/aksonov/react-native-router-flux/issues/1328)\n- Actions.SCENE\\({type: 'reset'}\\) [\\#1327](https://github.com/aksonov/react-native-router-flux/issues/1327)\n- Problem when showing WebView in drawer \\(maybe also in tab\\)  [\\#1326](https://github.com/aksonov/react-native-router-flux/issues/1326)\n- Trigger Actions.refresh\\(\\) without rerendering the component??? [\\#1323](https://github.com/aksonov/react-native-router-flux/issues/1323)\n- LeftButton was not rendered [\\#1320](https://github.com/aksonov/react-native-router-flux/issues/1320)\n- Map dispatch to props not work as expected [\\#1318](https://github.com/aksonov/react-native-router-flux/issues/1318)\n- On Tab Selected lifecycle method [\\#1317](https://github.com/aksonov/react-native-router-flux/issues/1317)\n- Disable backButton on Modal [\\#1316](https://github.com/aksonov/react-native-router-flux/issues/1316)\n- Creating custom parent scene with persistent navigation elements [\\#1315](https://github.com/aksonov/react-native-router-flux/issues/1315)\n- Scene Won't Change With Remote Debugger Enabled [\\#1314](https://github.com/aksonov/react-native-router-flux/issues/1314)\n- \\[Drawer \\(side menu\\) integration\\] not working with DrawerLayoutAndroid [\\#1313](https://github.com/aksonov/react-native-router-flux/issues/1313)\n- Initial tab will be frozen when change tab [\\#1311](https://github.com/aksonov/react-native-router-flux/issues/1311)\n- Navbar documentation [\\#1309](https://github.com/aksonov/react-native-router-flux/issues/1309)\n- Transition without reloading image for every page [\\#1302](https://github.com/aksonov/react-native-router-flux/issues/1302)\n- Can I put a logo \\(image file\\) in the Nav bar? [\\#1301](https://github.com/aksonov/react-native-router-flux/issues/1301)\n- how to add an view above navigation bar [\\#1299](https://github.com/aksonov/react-native-router-flux/issues/1299)\n- Call onLeft\\(\\) function [\\#1297](https://github.com/aksonov/react-native-router-flux/issues/1297)\n- \"Unique key should be defined\" exception [\\#1296](https://github.com/aksonov/react-native-router-flux/issues/1296)\n- instructions in mini-tutorial result in onPress being called on render when data is passed [\\#1290](https://github.com/aksonov/react-native-router-flux/issues/1290)\n- Returning to the core NavigationExperimental Component? [\\#1289](https://github.com/aksonov/react-native-router-flux/issues/1289)\n- Unable to run Example - react-native run-android throws an error [\\#1288](https://github.com/aksonov/react-native-router-flux/issues/1288)\n- Re-render same scene with updated props [\\#1285](https://github.com/aksonov/react-native-router-flux/issues/1285)\n- How to use react-native-router-flux and react-native-scrollable-tab-view? [\\#1283](https://github.com/aksonov/react-native-router-flux/issues/1283)\n- Scene mounting bug [\\#1282](https://github.com/aksonov/react-native-router-flux/issues/1282)\n- Navigating takes me to the previous scene for a second before going to the desired scene  [\\#1281](https://github.com/aksonov/react-native-router-flux/issues/1281)\n- Navigation bar height? [\\#1279](https://github.com/aksonov/react-native-router-flux/issues/1279)\n- Sub-Scenes Unexpectedly Popping on Tab Change [\\#1275](https://github.com/aksonov/react-native-router-flux/issues/1275)\n- How to get back to the first scene of the tab? [\\#1274](https://github.com/aksonov/react-native-router-flux/issues/1274)\n- Search field inside navigation? [\\#1273](https://github.com/aksonov/react-native-router-flux/issues/1273)\n- Android vs iOS inconsistencies.  [\\#1268](https://github.com/aksonov/react-native-router-flux/issues/1268)\n- How to hide nav bar based on state? [\\#1267](https://github.com/aksonov/react-native-router-flux/issues/1267)\n- Race condition when quickly navigating between scenes [\\#1266](https://github.com/aksonov/react-native-router-flux/issues/1266)\n- Displaying compressed sized navigation bar [\\#1265](https://github.com/aksonov/react-native-router-flux/issues/1265)\n- How to redirecting new page with routerReducer [\\#1264](https://github.com/aksonov/react-native-router-flux/issues/1264)\n- How to disable the navBar animation, especially when from one page with navBar to one page without navBar. [\\#1263](https://github.com/aksonov/react-native-router-flux/issues/1263)\n- Modal Dialog Problem [\\#1262](https://github.com/aksonov/react-native-router-flux/issues/1262)\n- AutoUpdate router data via server? [\\#1260](https://github.com/aksonov/react-native-router-flux/issues/1260)\n- Scene with react-native-maps breaks on router-flux 3.36.0 [\\#1258](https://github.com/aksonov/react-native-router-flux/issues/1258)\n- Testing actions called within redux-sagas [\\#1257](https://github.com/aksonov/react-native-router-flux/issues/1257)\n- Displaying Image in Header \\(NavBar\\) [\\#1255](https://github.com/aksonov/react-native-router-flux/issues/1255)\n- Swipe down conflicts / bugs inside modal \\(direction=\"vertical\"\\) [\\#1253](https://github.com/aksonov/react-native-router-flux/issues/1253)\n- Drawer DefaultRenderer failed prop type for children [\\#1252](https://github.com/aksonov/react-native-router-flux/issues/1252)\n- PR: Add support for `eslint-plugin-flowtype-errors` [\\#1251](https://github.com/aksonov/react-native-router-flux/issues/1251)\n- Scenes header don't update based on authenticated props [\\#1250](https://github.com/aksonov/react-native-router-flux/issues/1250)\n- panHandlers = { null } raises warning [\\#1249](https://github.com/aksonov/react-native-router-flux/issues/1249)\n- navbar hide when action.name to other page with navbar [\\#1248](https://github.com/aksonov/react-native-router-flux/issues/1248)\n- how to reset nav history when changing tabs? [\\#1246](https://github.com/aksonov/react-native-router-flux/issues/1246)\n- Modal in the tab bar bug [\\#1243](https://github.com/aksonov/react-native-router-flux/issues/1243)\n- Can we have a fade animation similar to that on the Navigation component? [\\#1241](https://github.com/aksonov/react-native-router-flux/issues/1241)\n- componentWillReceiveProps is getting called on Poped screen on state update. [\\#1239](https://github.com/aksonov/react-native-router-flux/issues/1239)\n- arguments callee and caller cannot be accessed in strict mode [\\#1210](https://github.com/aksonov/react-native-router-flux/issues/1210)\n- Best Practices for Navigating to a route [\\#1209](https://github.com/aksonov/react-native-router-flux/issues/1209)\n- Navigation between scenes and calling render & constructor [\\#1208](https://github.com/aksonov/react-native-router-flux/issues/1208)\n- update version [\\#1207](https://github.com/aksonov/react-native-router-flux/issues/1207)\n- Get Router name [\\#1206](https://github.com/aksonov/react-native-router-flux/issues/1206)\n- Get all children in Drawer Navigation state with tabs={false} [\\#1204](https://github.com/aksonov/react-native-router-flux/issues/1204)\n- Unable to change 'scale' transition effect between scenes [\\#1202](https://github.com/aksonov/react-native-router-flux/issues/1202)\n- Question, How to execute a function after routing ? [\\#1198](https://github.com/aksonov/react-native-router-flux/issues/1198)\n- How to traverse scenes [\\#1197](https://github.com/aksonov/react-native-router-flux/issues/1197)\n- Example's Redux implementation doesn't trigger in reducer [\\#1196](https://github.com/aksonov/react-native-router-flux/issues/1196)\n- How to have different navbar and transitions for Android and iOS? [\\#1194](https://github.com/aksonov/react-native-router-flux/issues/1194)\n- How do i add a right nav bar button? [\\#1192](https://github.com/aksonov/react-native-router-flux/issues/1192)\n- NSInternalInconsistencyException [\\#1187](https://github.com/aksonov/react-native-router-flux/issues/1187)\n- Bind UIManager.showPopupMenu.Handle to RFlux/TouchableOpacity [\\#1186](https://github.com/aksonov/react-native-router-flux/issues/1186)\n- titleWrapper style? [\\#1184](https://github.com/aksonov/react-native-router-flux/issues/1184)\n- Animation of appearance of navigation bar? [\\#1182](https://github.com/aksonov/react-native-router-flux/issues/1182)\n- How do I make react-native-router-flux work with redux connect? [\\#1181](https://github.com/aksonov/react-native-router-flux/issues/1181)\n- Is there any available docs for how to use and customize navbar? [\\#1179](https://github.com/aksonov/react-native-router-flux/issues/1179)\n- Remote debugging experience with android device [\\#1177](https://github.com/aksonov/react-native-router-flux/issues/1177)\n- Actions.refresh refreshes current scene and tabbar scene when using tabbar [\\#1176](https://github.com/aksonov/react-native-router-flux/issues/1176)\n- com.facebook.react.modules.core.JavascriptException: undefined is not an object \\(evaluating 'e.children\\[e.index\\].sceneKey'\\) [\\#1175](https://github.com/aksonov/react-native-router-flux/issues/1175)\n- Transitioning out of scene with does not use custom animationStyle [\\#1174](https://github.com/aksonov/react-native-router-flux/issues/1174)\n- Cannot set renderLoading or renderError for Relay container [\\#1166](https://github.com/aksonov/react-native-router-flux/issues/1166)\n- swipe gesture is hard to trigger [\\#1162](https://github.com/aksonov/react-native-router-flux/issues/1162)\n- Navigating with TabBar inside Drawer, navigate out of drawer and come back crash \\(EDITED\\) [\\#1160](https://github.com/aksonov/react-native-router-flux/issues/1160)\n- \"undefined is not an object\" for \"action.scene.name\" inside 'reducerCreate' [\\#1159](https://github.com/aksonov/react-native-router-flux/issues/1159)\n- how can I use my user-defined icon in tab bar? Thanks. [\\#1158](https://github.com/aksonov/react-native-router-flux/issues/1158)\n- Version 3.35.0 leftButton does not render component [\\#1154](https://github.com/aksonov/react-native-router-flux/issues/1154)\n- Question: How pass additional props to getSceneStyle ? [\\#1147](https://github.com/aksonov/react-native-router-flux/issues/1147)\n- Question: Scene specific back button behavior \\[Android\\] [\\#1146](https://github.com/aksonov/react-native-router-flux/issues/1146)\n- navigationState.children\\[i\\].key conflicts with another child [\\#1144](https://github.com/aksonov/react-native-router-flux/issues/1144)\n- Navigation bar backButtonImage - can we use Icon instead if image   [\\#1143](https://github.com/aksonov/react-native-router-flux/issues/1143)\n- how to use nested scene? [\\#1142](https://github.com/aksonov/react-native-router-flux/issues/1142)\n- Scenes don't recognize multiple children [\\#1136](https://github.com/aksonov/react-native-router-flux/issues/1136)\n- Navbar 'title' position in IOS  [\\#1131](https://github.com/aksonov/react-native-router-flux/issues/1131)\n- Hide leftButtonImage [\\#1130](https://github.com/aksonov/react-native-router-flux/issues/1130)\n- How can I reload the Scene Component when router back focus. [\\#1127](https://github.com/aksonov/react-native-router-flux/issues/1127)\n- When calling two actions in a row, only the last one works [\\#1125](https://github.com/aksonov/react-native-router-flux/issues/1125)\n- scene\\(same component. different key\\) quickly changed but data did not changed [\\#1124](https://github.com/aksonov/react-native-router-flux/issues/1124)\n- Prevent react-native-router-flux from rendering all components [\\#1123](https://github.com/aksonov/react-native-router-flux/issues/1123)\n- Change default burger [\\#1122](https://github.com/aksonov/react-native-router-flux/issues/1122)\n- Parent Containers don't work [\\#1121](https://github.com/aksonov/react-native-router-flux/issues/1121)\n- Jest test support [\\#1120](https://github.com/aksonov/react-native-router-flux/issues/1120)\n- \\#question\\# scene key namesapce & compare with react-router [\\#1115](https://github.com/aksonov/react-native-router-flux/issues/1115)\n- RN 0.32.0 - \"Warning: Component's children should not be mutated. In NavBar...\" [\\#1112](https://github.com/aksonov/react-native-router-flux/issues/1112)\n- Option to not move original scene when transitioning to a new one [\\#1111](https://github.com/aksonov/react-native-router-flux/issues/1111)\n- 'ActionConst.Reset' not working properly after few uses [\\#1110](https://github.com/aksonov/react-native-router-flux/issues/1110)\n- Add Features available in Navigator [\\#1103](https://github.com/aksonov/react-native-router-flux/issues/1103)\n- Actions.SCENE doing nothing [\\#1102](https://github.com/aksonov/react-native-router-flux/issues/1102)\n- RN 0.31 the tab bar gone [\\#1100](https://github.com/aksonov/react-native-router-flux/issues/1100)\n- Feature request: support fullscreen pop gesture [\\#1096](https://github.com/aksonov/react-native-router-flux/issues/1096)\n- Dropping Frames  [\\#1095](https://github.com/aksonov/react-native-router-flux/issues/1095)\n- Back button is not shown when tabs scene is pushed [\\#1092](https://github.com/aksonov/react-native-router-flux/issues/1092)\n- Actions.get only gets scenes from the current scene stack [\\#1086](https://github.com/aksonov/react-native-router-flux/issues/1086)\n- Ghost view during navigation transition [\\#1085](https://github.com/aksonov/react-native-router-flux/issues/1085)\n- BackAndroid pops two scenes when navigating back from a subscene [\\#1084](https://github.com/aksonov/react-native-router-flux/issues/1084)\n- Switch Scene only recognizes the first child Scene and it's key [\\#1081](https://github.com/aksonov/react-native-router-flux/issues/1081)\n- NavBar is not transparent on Android [\\#1079](https://github.com/aksonov/react-native-router-flux/issues/1079)\n- Router needs a key in readme? [\\#1077](https://github.com/aksonov/react-native-router-flux/issues/1077)\n- NavBar covered by views [\\#1076](https://github.com/aksonov/react-native-router-flux/issues/1076)\n- Cannot read property 'applyAnimation' of undefined when using ActionConst.POP\\_TO [\\#1074](https://github.com/aksonov/react-native-router-flux/issues/1074)\n- How to remove view from the view stack [\\#1071](https://github.com/aksonov/react-native-router-flux/issues/1071)\n- translucent in tabbar not working [\\#1070](https://github.com/aksonov/react-native-router-flux/issues/1070)\n- Nested children Scenes do not display navBar when hideNavBar=false [\\#1069](https://github.com/aksonov/react-native-router-flux/issues/1069)\n- Scenes for deep behaviour [\\#1067](https://github.com/aksonov/react-native-router-flux/issues/1067)\n- Navigate between 2 different tabbars [\\#1066](https://github.com/aksonov/react-native-router-flux/issues/1066)\n- How to use  backAndroidHandler   onBackAndroid   onExitApp   in Router？ [\\#1065](https://github.com/aksonov/react-native-router-flux/issues/1065)\n- Swipe between tabs [\\#1064](https://github.com/aksonov/react-native-router-flux/issues/1064)\n- Closing react-native-drawer upon navigation to new scene [\\#1063](https://github.com/aksonov/react-native-router-flux/issues/1063)\n- Scene direction control not working [\\#1062](https://github.com/aksonov/react-native-router-flux/issues/1062)\n- How can I dynamically go to different initial page by deeplink ? [\\#1060](https://github.com/aksonov/react-native-router-flux/issues/1060)\n- Navbar changes upon navigation to tabbed scenes [\\#1056](https://github.com/aksonov/react-native-router-flux/issues/1056)\n- How can I access the title property if I use a custom renderTitle function [\\#1053](https://github.com/aksonov/react-native-router-flux/issues/1053)\n- Can trigger hide/show of tab-bars/nav-bars programmatically?  [\\#1052](https://github.com/aksonov/react-native-router-flux/issues/1052)\n- Get the current navigator stack [\\#1045](https://github.com/aksonov/react-native-router-flux/issues/1045)\n- how to implements call a function on scene transition end [\\#1044](https://github.com/aksonov/react-native-router-flux/issues/1044)\n- Scene with key considered non-existent despite it rendering successfully [\\#1040](https://github.com/aksonov/react-native-router-flux/issues/1040)\n- \\_\\_DEV\\_\\_ not defined  [\\#1039](https://github.com/aksonov/react-native-router-flux/issues/1039)\n- Just the transition system [\\#1038](https://github.com/aksonov/react-native-router-flux/issues/1038)\n- How can I do multiple actions with a modal ? [\\#1035](https://github.com/aksonov/react-native-router-flux/issues/1035)\n- throw err;  ^  Error: ENOENT: no such file or directory, uv\\_chdir [\\#1033](https://github.com/aksonov/react-native-router-flux/issues/1033)\n- Is that any way to put background image in navigation bar and also image at navigation title? [\\#1031](https://github.com/aksonov/react-native-router-flux/issues/1031)\n- JSX-style comments confused for \\<Scene\\> inside \\<Router\\> [\\#1030](https://github.com/aksonov/react-native-router-flux/issues/1030)\n- unknown module fbjs/lib/invariant [\\#1026](https://github.com/aksonov/react-native-router-flux/issues/1026)\n- DefaultRenderer dependency on pure-render-mixin [\\#1018](https://github.com/aksonov/react-native-router-flux/issues/1018)\n- How can we pass props to previous screen in Action.Pop\\(\\) operation [\\#1014](https://github.com/aksonov/react-native-router-flux/issues/1014)\n- react-native-message-bar usage \\[Question\\] [\\#1011](https://github.com/aksonov/react-native-router-flux/issues/1011)\n- Change action names [\\#1010](https://github.com/aksonov/react-native-router-flux/issues/1010)\n- React Warnings [\\#1009](https://github.com/aksonov/react-native-router-flux/issues/1009)\n- Best Way to Navigate to a Scene from Different Parent? [\\#1005](https://github.com/aksonov/react-native-router-flux/issues/1005)\n- Tabbar and Modals [\\#1003](https://github.com/aksonov/react-native-router-flux/issues/1003)\n- Cannot resolve 'file' or 'directory' ./assets/back-icon.png [\\#1001](https://github.com/aksonov/react-native-router-flux/issues/1001)\n- Warnings with react native upgrade [\\#1000](https://github.com/aksonov/react-native-router-flux/issues/1000)\n- Custom BackButton component passed props [\\#999](https://github.com/aksonov/react-native-router-flux/issues/999)\n- Can't access props for scenes whitin a tabBar container [\\#997](https://github.com/aksonov/react-native-router-flux/issues/997)\n- Passing data to tabbar scene [\\#995](https://github.com/aksonov/react-native-router-flux/issues/995)\n- renderRightButton displays button on left side of NavBar [\\#994](https://github.com/aksonov/react-native-router-flux/issues/994)\n- Example of a simple TabBar [\\#988](https://github.com/aksonov/react-native-router-flux/issues/988)\n- Overriding vertical transitions not working [\\#987](https://github.com/aksonov/react-native-router-flux/issues/987)\n- props disapear when changing scene using redux store [\\#983](https://github.com/aksonov/react-native-router-flux/issues/983)\n- Interpolators are off [\\#981](https://github.com/aksonov/react-native-router-flux/issues/981)\n- DatePickerIOS triggers back gesture when choosing date. [\\#969](https://github.com/aksonov/react-native-router-flux/issues/969)\n- Redundant UI didn't get cleared by `Switch` [\\#965](https://github.com/aksonov/react-native-router-flux/issues/965)\n- Scene leaks through, and props question [\\#950](https://github.com/aksonov/react-native-router-flux/issues/950)\n- Proposal: don't trigger focus events for component-less scenes [\\#943](https://github.com/aksonov/react-native-router-flux/issues/943)\n- How to use switch right way? renderBackButton not show - questions [\\#938](https://github.com/aksonov/react-native-router-flux/issues/938)\n- Modal does not honor duration [\\#937](https://github.com/aksonov/react-native-router-flux/issues/937)\n- General performance question [\\#934](https://github.com/aksonov/react-native-router-flux/issues/934)\n- question about stack\\(history\\) [\\#930](https://github.com/aksonov/react-native-router-flux/issues/930)\n- How to detect Scene change/tab change?  [\\#925](https://github.com/aksonov/react-native-router-flux/issues/925)\n- Custom Animation for Scene Transition [\\#914](https://github.com/aksonov/react-native-router-flux/issues/914)\n- Missing \"Why\"-section [\\#908](https://github.com/aksonov/react-native-router-flux/issues/908)\n- Can't put custom left icon on scenes wrapped inside a tabbar [\\#904](https://github.com/aksonov/react-native-router-flux/issues/904)\n- Improve documentation about how to implement modals [\\#893](https://github.com/aksonov/react-native-router-flux/issues/893)\n- Custom NavBar with custom TabBar [\\#885](https://github.com/aksonov/react-native-router-flux/issues/885)\n- Popover style navigation [\\#882](https://github.com/aksonov/react-native-router-flux/issues/882)\n- initial router not rendered in Android\\(while fine in iOS\\) [\\#878](https://github.com/aksonov/react-native-router-flux/issues/878)\n- Broken layout when using Drawer & NavBar [\\#877](https://github.com/aksonov/react-native-router-flux/issues/877)\n- Swipe gesture not working to dismiss scene [\\#872](https://github.com/aksonov/react-native-router-flux/issues/872)\n- Pass state/props to onRight or onLeft \\(navbar\\) [\\#864](https://github.com/aksonov/react-native-router-flux/issues/864)\n- Component Props are not passed to renderNavigationBar method [\\#853](https://github.com/aksonov/react-native-router-flux/issues/853)\n- Transitions problem [\\#842](https://github.com/aksonov/react-native-router-flux/issues/842)\n- Parent navigation bar is not displayed when child has hideNavBar [\\#841](https://github.com/aksonov/react-native-router-flux/issues/841)\n- How to get length of router? [\\#833](https://github.com/aksonov/react-native-router-flux/issues/833)\n- Actions.pop\\(\\):  weird transitions between scenes [\\#800](https://github.com/aksonov/react-native-router-flux/issues/800)\n- view is not changing on scene selection [\\#787](https://github.com/aksonov/react-native-router-flux/issues/787)\n- Tab switching changes routes.scene to tab wrapper on the second time you click the tab. [\\#785](https://github.com/aksonov/react-native-router-flux/issues/785)\n- Swipe back moves multiple scenes [\\#784](https://github.com/aksonov/react-native-router-flux/issues/784)\n- \\[NavBar\\] wrong style  [\\#781](https://github.com/aksonov/react-native-router-flux/issues/781)\n- Actions.\\[SCENE\\_NAME\\] is not working. [\\#780](https://github.com/aksonov/react-native-router-flux/issues/780)\n- Dispatching multiple actions within TabBar onSelect  [\\#771](https://github.com/aksonov/react-native-router-flux/issues/771)\n- Switching between tabs does not trigger 'focus' action [\\#769](https://github.com/aksonov/react-native-router-flux/issues/769)\n- Hidden TabBar still clickable when hideTabBar={true} [\\#763](https://github.com/aksonov/react-native-router-flux/issues/763)\n- Discussion: the component usage within real apps [\\#558](https://github.com/aksonov/react-native-router-flux/issues/558)\n- IMPORTANT: Please ask questions about usage within Gitter or stackoverflow [\\#515](https://github.com/aksonov/react-native-router-flux/issues/515)\n- Unit testing [\\#326](https://github.com/aksonov/react-native-router-flux/issues/326)\n- Schema support for release 3.0 [\\#307](https://github.com/aksonov/react-native-router-flux/issues/307)\n\n**Merged pull requests:**\n\n- Activating Open Collective [\\#1989](https://github.com/aksonov/react-native-router-flux/pull/1989) ([xdamman](https://github.com/xdamman))\n- First stab at docs using Github pages [\\#1978](https://github.com/aksonov/react-native-router-flux/pull/1978) ([southerneer](https://github.com/southerneer))\n- Adding NavBar properties to NavBarProps and SceneProps typings [\\#1973](https://github.com/aksonov/react-native-router-flux/pull/1973) ([encosw](https://github.com/encosw))\n- Top to bottom scene transition [\\#1939](https://github.com/aksonov/react-native-router-flux/pull/1939) ([wvicioso](https://github.com/wvicioso))\n- fix typo [\\#1935](https://github.com/aksonov/react-native-router-flux/pull/1935) ([szhigunov](https://github.com/szhigunov))\n- change PropTypes reference from React to prop-types package [\\#1930](https://github.com/aksonov/react-native-router-flux/pull/1930) ([diogoarm](https://github.com/diogoarm))\n- should consider style within the state/props [\\#1921](https://github.com/aksonov/react-native-router-flux/pull/1921) ([pbassut](https://github.com/pbassut))\n- Fix: Do Not Clobber Tab Children Stack [\\#1918](https://github.com/aksonov/react-native-router-flux/pull/1918) ([jmcdonald-ut](https://github.com/jmcdonald-ut))\n- Add `ANDROID\\_BACK` to the `RNRFActionConst` interface [\\#1892](https://github.com/aksonov/react-native-router-flux/pull/1892) ([codebymikey](https://github.com/codebymikey))\n- Updated View.propTypes to ViewPropTypes [\\#1891](https://github.com/aksonov/react-native-router-flux/pull/1891) ([jbreuer95](https://github.com/jbreuer95))\n- Add onActivePress on TabBar [\\#1888](https://github.com/aksonov/react-native-router-flux/pull/1888) ([Piwaii](https://github.com/Piwaii))\n- Fixed Duplicate versions of react-native [\\#1885](https://github.com/aksonov/react-native-router-flux/pull/1885) ([abdurrahmanekr](https://github.com/abdurrahmanekr))\n- Remove extra backtick in README2.md [\\#1874](https://github.com/aksonov/react-native-router-flux/pull/1874) ([dylanpinn](https://github.com/dylanpinn))\n- fix \"Back button appearing in root of navbar scenario\" \\#1433 [\\#1838](https://github.com/aksonov/react-native-router-flux/pull/1838) ([twksos](https://github.com/twksos))\n- fix an error in OTHER\\_INFO.md of the part of Drawer \\(side menu\\) integration [\\#1822](https://github.com/aksonov/react-native-router-flux/pull/1822) ([Symous](https://github.com/Symous))\n- feature: expose position props to allow custom animations [\\#1627](https://github.com/aksonov/react-native-router-flux/pull/1627) ([ahanriat](https://github.com/ahanriat))\n- Fix inconsistent navbar button placement [\\#1525](https://github.com/aksonov/react-native-router-flux/pull/1525) ([jakecraige](https://github.com/jakecraige))\n- REFACTORING resetHistoryStack [\\#1386](https://github.com/aksonov/react-native-router-flux/pull/1386) ([sarovin](https://github.com/sarovin))\n\n## [3.39.1](https://github.com/aksonov/react-native-router-flux/tree/3.39.1) (2017-05-13)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/3.38.0...3.39.1)\n\n**Fixed bugs:**\n\n- Errors when build Example: ':app:compileDebugJavaWithJavac' [\\#1688](https://github.com/aksonov/react-native-router-flux/issues/1688)\n- Navigation state is lost when sending the app to background [\\#1657](https://github.com/aksonov/react-native-router-flux/issues/1657)\n- The nav bar and the tab bar block my scene [\\#836](https://github.com/aksonov/react-native-router-flux/issues/836)\n\n**Closed issues:**\n\n- Actions.pop behavior on Modal is different on Android and iOS [\\#1843](https://github.com/aksonov/react-native-router-flux/issues/1843)\n- Question: How can I swipe forward and backward [\\#1840](https://github.com/aksonov/react-native-router-flux/issues/1840)\n- Can't push adjacent scene over tabs [\\#1837](https://github.com/aksonov/react-native-router-flux/issues/1837)\n- a blank space between Navbar and the page when switching page. [\\#1831](https://github.com/aksonov/react-native-router-flux/issues/1831)\n- Animating Custom Navbar [\\#1827](https://github.com/aksonov/react-native-router-flux/issues/1827)\n- Prevent scene transition when passing props [\\#1826](https://github.com/aksonov/react-native-router-flux/issues/1826)\n- Navigate routes while keeping one component the same [\\#1821](https://github.com/aksonov/react-native-router-flux/issues/1821)\n- undefined is not an object \\(evaluating’el.props.component\\) [\\#1820](https://github.com/aksonov/react-native-router-flux/issues/1820)\n- how to remove or hide the titlebar? [\\#1818](https://github.com/aksonov/react-native-router-flux/issues/1818)\n- Can't find variable: React Problem [\\#1817](https://github.com/aksonov/react-native-router-flux/issues/1817)\n- After Install react-native-router-flux it's give me error  [\\#1815](https://github.com/aksonov/react-native-router-flux/issues/1815)\n-  Duplicate module name: TouchHistoryMath [\\#1806](https://github.com/aksonov/react-native-router-flux/issues/1806)\n- android react-native 0.43.3 error [\\#1805](https://github.com/aksonov/react-native-router-flux/issues/1805)\n- Can I hide Tabbar anytime I want? [\\#1796](https://github.com/aksonov/react-native-router-flux/issues/1796)\n- auto redirect bug [\\#1794](https://github.com/aksonov/react-native-router-flux/issues/1794)\n- back button cut off [\\#1788](https://github.com/aksonov/react-native-router-flux/issues/1788)\n- Can't add title under icon image? [\\#1782](https://github.com/aksonov/react-native-router-flux/issues/1782)\n- Cannot get to tabs using Actions\\[tabName\\]\\(\\) [\\#1781](https://github.com/aksonov/react-native-router-flux/issues/1781)\n- How to save current tab's scene and state? [\\#1778](https://github.com/aksonov/react-native-router-flux/issues/1778)\n- Question on making Actions.KEY like tabs? [\\#1776](https://github.com/aksonov/react-native-router-flux/issues/1776)\n- \\[Question\\] Advice on location to call Google Analytics trackScreenView on scene change? [\\#1772](https://github.com/aksonov/react-native-router-flux/issues/1772)\n- How can I create a route to a react-native-scrollable-tab-view that is inside a flux scene? [\\#1769](https://github.com/aksonov/react-native-router-flux/issues/1769)\n- Not working on react-native 43.1 [\\#1767](https://github.com/aksonov/react-native-router-flux/issues/1767)\n- Navigation drawer: How to know the current selected item? [\\#1766](https://github.com/aksonov/react-native-router-flux/issues/1766)\n- Shouldn't define sceneStyle several times? [\\#1765](https://github.com/aksonov/react-native-router-flux/issues/1765)\n- How to add onPress not only to change the Scene but background color of Button too ?  [\\#1759](https://github.com/aksonov/react-native-router-flux/issues/1759)\n- Back button disappears when I switch tabs [\\#1758](https://github.com/aksonov/react-native-router-flux/issues/1758)\n- TabBar with Button for DrawerMenu?  [\\#1744](https://github.com/aksonov/react-native-router-flux/issues/1744)\n- Can't integrate Router with Drawer [\\#1739](https://github.com/aksonov/react-native-router-flux/issues/1739)\n- Mount functions not working properly when switching tabs [\\#1731](https://github.com/aksonov/react-native-router-flux/issues/1731)\n- Hide navbar for single scene [\\#1726](https://github.com/aksonov/react-native-router-flux/issues/1726)\n- Passing params into Actions.route appears to fail silently [\\#1720](https://github.com/aksonov/react-native-router-flux/issues/1720)\n- Need example using title image [\\#1712](https://github.com/aksonov/react-native-router-flux/issues/1712)\n- Strange tab/navbar behavior when pulling from github? [\\#1708](https://github.com/aksonov/react-native-router-flux/issues/1708)\n- Change the `tintColor` of the `drawerImage` sent to the `Router`. [\\#1689](https://github.com/aksonov/react-native-router-flux/issues/1689)\n- Tabs losing state [\\#1686](https://github.com/aksonov/react-native-router-flux/issues/1686)\n- How to redirect to sub-scenes? [\\#1685](https://github.com/aksonov/react-native-router-flux/issues/1685)\n- renderBackButton\\(\\) not working anymore [\\#1683](https://github.com/aksonov/react-native-router-flux/issues/1683)\n- How to apply conditional Tabbar style?   [\\#1680](https://github.com/aksonov/react-native-router-flux/issues/1680)\n- Jest testing problem: Invariant Violation: Native module cannot be null. [\\#1679](https://github.com/aksonov/react-native-router-flux/issues/1679)\n- Close current scene and move to another [\\#1678](https://github.com/aksonov/react-native-router-flux/issues/1678)\n- rightToLeftDirection, possible PR to submit ? [\\#1674](https://github.com/aksonov/react-native-router-flux/issues/1674)\n- Components are not receiving the scene props [\\#1672](https://github.com/aksonov/react-native-router-flux/issues/1672)\n- Closed [\\#1667](https://github.com/aksonov/react-native-router-flux/issues/1667)\n- A scene takes time to close [\\#1664](https://github.com/aksonov/react-native-router-flux/issues/1664)\n- Navigation Bar: Back button No changing color [\\#1662](https://github.com/aksonov/react-native-router-flux/issues/1662)\n- How to disable fade out animation for previous scene? [\\#1646](https://github.com/aksonov/react-native-router-flux/issues/1646)\n- Unknown white background [\\#1639](https://github.com/aksonov/react-native-router-flux/issues/1639)\n- Actions.\\[key\\] not work in custom nav bar [\\#1632](https://github.com/aksonov/react-native-router-flux/issues/1632)\n- Example of custom scene transition  [\\#1631](https://github.com/aksonov/react-native-router-flux/issues/1631)\n- How \"Native\" Is This Router? [\\#1623](https://github.com/aksonov/react-native-router-flux/issues/1623)\n- Dynamically changing tab bar title [\\#1620](https://github.com/aksonov/react-native-router-flux/issues/1620)\n- is it possible no animation without replace ? [\\#1619](https://github.com/aksonov/react-native-router-flux/issues/1619)\n- Back action does not clear the states of the unmounted component [\\#1613](https://github.com/aksonov/react-native-router-flux/issues/1613)\n- How to access right navbar button inside component [\\#1609](https://github.com/aksonov/react-native-router-flux/issues/1609)\n- Component property is not set error [\\#1604](https://github.com/aksonov/react-native-router-flux/issues/1604)\n- Navbar custom wrapper proposal [\\#1462](https://github.com/aksonov/react-native-router-flux/issues/1462)\n- How to properly wrap Router inside other component? [\\#1446](https://github.com/aksonov/react-native-router-flux/issues/1446)\n- Navigation retains previous view on top of another \\(Map\\) [\\#989](https://github.com/aksonov/react-native-router-flux/issues/989)\n\n**Merged pull requests:**\n\n- Fix RN 0.44 compatibility [\\#1819](https://github.com/aksonov/react-native-router-flux/pull/1819) ([kesha-antonov](https://github.com/kesha-antonov))\n- Maintain tab parentIndex when jumping tabs [\\#1775](https://github.com/aksonov/react-native-router-flux/pull/1775) ([OhaiBBQ](https://github.com/OhaiBBQ))\n- Add selection view to show below navigationBarTitleImage [\\#1756](https://github.com/aksonov/react-native-router-flux/pull/1756) ([filipemonteiroth](https://github.com/filipemonteiroth))\n- update documentation for nested routing [\\#1742](https://github.com/aksonov/react-native-router-flux/pull/1742) ([cosmos-sajal](https://github.com/cosmos-sajal))\n- add 'fade' to direction type in TypeScript types [\\#1705](https://github.com/aksonov/react-native-router-flux/pull/1705) ([yuche](https://github.com/yuche))\n- fixed issue \\#1688 \\(in accordance with https://github.com/facebook/rea… [\\#1691](https://github.com/aksonov/react-native-router-flux/pull/1691) ([drgrey87](https://github.com/drgrey87))\n- Fix checkPropertiesEqual [\\#1682](https://github.com/aksonov/react-native-router-flux/pull/1682) ([barakcoh](https://github.com/barakcoh))\n- Add navBarTitleImage prop [\\#1663](https://github.com/aksonov/react-native-router-flux/pull/1663) ([filipemonteiroth](https://github.com/filipemonteiroth))\n- Change back button direction in RTL mode [\\#1661](https://github.com/aksonov/react-native-router-flux/pull/1661) ([MaxToyberman](https://github.com/MaxToyberman))\n- Revert \"pass props\" [\\#1660](https://github.com/aksonov/react-native-router-flux/pull/1660) ([aksonov](https://github.com/aksonov))\n- Fix for panGestures and Animation [\\#1618](https://github.com/aksonov/react-native-router-flux/pull/1618) ([Jlexyc](https://github.com/Jlexyc))\n- add `tabBarBackgroundImageStyle` prop [\\#1611](https://github.com/aksonov/react-native-router-flux/pull/1611) ([soulwu](https://github.com/soulwu))\n- Added backAndroidHandler to routerProps typings [\\#1586](https://github.com/aksonov/react-native-router-flux/pull/1586) ([andwaal](https://github.com/andwaal))\n- Changes drawer button side according with drawer.props.side [\\#1584](https://github.com/aksonov/react-native-router-flux/pull/1584) ([lucianomlima](https://github.com/lucianomlima))\n- pass props [\\#1549](https://github.com/aksonov/react-native-router-flux/pull/1549) ([indatawetrust](https://github.com/indatawetrust))\n- Adding sizes NavBar for Windows [\\#1548](https://github.com/aksonov/react-native-router-flux/pull/1548) ([jmarrot](https://github.com/jmarrot))\n- Added icon to SceneProps type [\\#1546](https://github.com/aksonov/react-native-router-flux/pull/1546) ([iyegoroff](https://github.com/iyegoroff))\n\n## [3.38.0](https://github.com/aksonov/react-native-router-flux/tree/3.38.0) (2017-03-01)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/v3.35.0...3.38.0)\n\n**Implemented enhancements:**\n\n- Update testing and CI [\\#1414](https://github.com/aksonov/react-native-router-flux/issues/1414)\n- Cleaning of branches [\\#795](https://github.com/aksonov/react-native-router-flux/issues/795)\n\n**Closed issues:**\n\n- tabs not work [\\#1651](https://github.com/aksonov/react-native-router-flux/issues/1651)\n- Blank view during transition [\\#1647](https://github.com/aksonov/react-native-router-flux/issues/1647)\n- How to have global footer in every scene in 3.x? [\\#1645](https://github.com/aksonov/react-native-router-flux/issues/1645)\n-  native router flux custom back button [\\#1644](https://github.com/aksonov/react-native-router-flux/issues/1644)\n- React Native with Redux dispatching action [\\#1643](https://github.com/aksonov/react-native-router-flux/issues/1643)\n- oops [\\#1642](https://github.com/aksonov/react-native-router-flux/issues/1642)\n- Use RNRF with redux-sagas [\\#1641](https://github.com/aksonov/react-native-router-flux/issues/1641)\n- Hot reloading does work with TabView while it works with other Scene [\\#1625](https://github.com/aksonov/react-native-router-flux/issues/1625)\n- Issue Purge [\\#1624](https://github.com/aksonov/react-native-router-flux/issues/1624)\n- Refresh parent page only if something is changed in child page [\\#1617](https://github.com/aksonov/react-native-router-flux/issues/1617)\n- How to directly go to the non-first scene of the sibling scene. [\\#1615](https://github.com/aksonov/react-native-router-flux/issues/1615)\n- How to use Back Action while unmounting Current Component? [\\#1608](https://github.com/aksonov/react-native-router-flux/issues/1608)\n- Drawer image not showing up  [\\#1599](https://github.com/aksonov/react-native-router-flux/issues/1599)\n- How to navigate based on a condition in RNRF react native [\\#1598](https://github.com/aksonov/react-native-router-flux/issues/1598)\n- Reusing scene to push to for different tabs [\\#1592](https://github.com/aksonov/react-native-router-flux/issues/1592)\n- Implement onLeft, onRight right way????? [\\#1590](https://github.com/aksonov/react-native-router-flux/issues/1590)\n- Support: How to set portrait only Scene , Thanks [\\#1588](https://github.com/aksonov/react-native-router-flux/issues/1588)\n- 2 x Drawers \\(left and right\\) [\\#1585](https://github.com/aksonov/react-native-router-flux/issues/1585)\n- how to use react-native-router-flux with react-native-scrollable-tab-view? [\\#1579](https://github.com/aksonov/react-native-router-flux/issues/1579)\n-  I have Seen This error Can you Solve this [\\#1577](https://github.com/aksonov/react-native-router-flux/issues/1577)\n- Pop modals and show modals [\\#1570](https://github.com/aksonov/react-native-router-flux/issues/1570)\n- Toolbar color changes when using Switch component [\\#1566](https://github.com/aksonov/react-native-router-flux/issues/1566)\n- Back transition faster with remote debugging on [\\#1564](https://github.com/aksonov/react-native-router-flux/issues/1564)\n- Arguments to Actions ignored [\\#1559](https://github.com/aksonov/react-native-router-flux/issues/1559)\n- Change back transition animation [\\#1551](https://github.com/aksonov/react-native-router-flux/issues/1551)\n- Getting white screen while redux action is performing [\\#1543](https://github.com/aksonov/react-native-router-flux/issues/1543)\n- Question: Is there a way to disable the sliding animation of the title? [\\#1537](https://github.com/aksonov/react-native-router-flux/issues/1537)\n- Would like to be able to use icon as title in navBar [\\#1535](https://github.com/aksonov/react-native-router-flux/issues/1535)\n- conflicts with another child [\\#1534](https://github.com/aksonov/react-native-router-flux/issues/1534)\n- Pavel, do you do freelance work? [\\#1528](https://github.com/aksonov/react-native-router-flux/issues/1528)\n- Splitting Scenes does not work [\\#1527](https://github.com/aksonov/react-native-router-flux/issues/1527)\n- Scene Conflict When Using Modal From Tab Button [\\#1526](https://github.com/aksonov/react-native-router-flux/issues/1526)\n- Custom Reducer Using combineReducer Does Not Intercept RNRF Actions [\\#1523](https://github.com/aksonov/react-native-router-flux/issues/1523)\n- hideBackImage hides but NOT disable [\\#1515](https://github.com/aksonov/react-native-router-flux/issues/1515)\n- navigationState.children\\[2\\].key \"scene\\_profileTab\\_profileToFollow\\_1\\_profileToFollow\" conflicts withanother child! [\\#1514](https://github.com/aksonov/react-native-router-flux/issues/1514)\n- undefined is not a function \\('evaluating '\\_reactNativeRouterFlux…\\) [\\#1511](https://github.com/aksonov/react-native-router-flux/issues/1511)\n- Remove back button from navbar [\\#1509](https://github.com/aksonov/react-native-router-flux/issues/1509)\n- Native module cannot be null [\\#1508](https://github.com/aksonov/react-native-router-flux/issues/1508)\n- Action.\\<key\\> Not Routing to Siblings? [\\#1494](https://github.com/aksonov/react-native-router-flux/issues/1494)\n- How can I show a Google AdMobBanner with RNRF? [\\#1482](https://github.com/aksonov/react-native-router-flux/issues/1482)\n- Increase back swipe gesture grab range [\\#1474](https://github.com/aksonov/react-native-router-flux/issues/1474)\n- Error: \"Attempted to assign to readonly property\" when using back-button in a RouterWithRedux [\\#1469](https://github.com/aksonov/react-native-router-flux/issues/1469)\n- Console \"Key foo is already defined!\" when Android device is rotated [\\#1461](https://github.com/aksonov/react-native-router-flux/issues/1461)\n- drawer [\\#1457](https://github.com/aksonov/react-native-router-flux/issues/1457)\n- Navigation Top Bar has no height in App Store releases [\\#1455](https://github.com/aksonov/react-native-router-flux/issues/1455)\n- Question : How can i get Component data from Navigation Scene [\\#1454](https://github.com/aksonov/react-native-router-flux/issues/1454)\n- How can i get NavBar's onRight fun? [\\#1450](https://github.com/aksonov/react-native-router-flux/issues/1450)\n- Disable zoom animation [\\#1444](https://github.com/aksonov/react-native-router-flux/issues/1444)\n- What is the best way to do something \"onTabClicked\"?  [\\#1439](https://github.com/aksonov/react-native-router-flux/issues/1439)\n- How to use the drawer in more complex router with flux? [\\#1435](https://github.com/aksonov/react-native-router-flux/issues/1435)\n- Props not passed from tab scene to sibling scene [\\#1434](https://github.com/aksonov/react-native-router-flux/issues/1434)\n- Tab bar not showing on Android [\\#1429](https://github.com/aksonov/react-native-router-flux/issues/1429)\n- How can I keep panHandlers on iOS but not on Android [\\#1426](https://github.com/aksonov/react-native-router-flux/issues/1426)\n- \\[Navigation Bar\\] Title animation direction [\\#1420](https://github.com/aksonov/react-native-router-flux/issues/1420)\n- Help to understand sub-scene and modals [\\#1419](https://github.com/aksonov/react-native-router-flux/issues/1419)\n- Set Dynamic tabBarStyle [\\#1412](https://github.com/aksonov/react-native-router-flux/issues/1412)\n- Tab onSelection function [\\#1408](https://github.com/aksonov/react-native-router-flux/issues/1408)\n- Navigate to the same component [\\#1407](https://github.com/aksonov/react-native-router-flux/issues/1407)\n- Why are view components with flex: 1 stay under the navigation and tab bars? [\\#1401](https://github.com/aksonov/react-native-router-flux/issues/1401)\n- Modal dispatch actions but not showing other scene [\\#1400](https://github.com/aksonov/react-native-router-flux/issues/1400)\n- back\\_chevron.png goes missing in Release build [\\#1391](https://github.com/aksonov/react-native-router-flux/issues/1391)\n- Not able to pass prop through Actions after upgrade to 3.37.0 [\\#1390](https://github.com/aksonov/react-native-router-flux/issues/1390)\n- Background Image across multiple scenes [\\#1388](https://github.com/aksonov/react-native-router-flux/issues/1388)\n- How to change color of menu burger icon [\\#1380](https://github.com/aksonov/react-native-router-flux/issues/1380)\n- Scenes inside Modal don't have navigationState and onNavigate props. [\\#1379](https://github.com/aksonov/react-native-router-flux/issues/1379)\n- Set initial route on split scenes [\\#1377](https://github.com/aksonov/react-native-router-flux/issues/1377)\n- Actions.xx\\({type:ActionConst.PUSH}\\) doesn't  work [\\#1372](https://github.com/aksonov/react-native-router-flux/issues/1372)\n- tions [\\#1371](https://github.com/aksonov/react-native-router-flux/issues/1371)\n- Show badge number on Tab at Tabbar [\\#1362](https://github.com/aksonov/react-native-router-flux/issues/1362)\n- onPress button don't open my drawer [\\#1360](https://github.com/aksonov/react-native-router-flux/issues/1360)\n- Navigation bar not visible when using drawer menu [\\#1354](https://github.com/aksonov/react-native-router-flux/issues/1354)\n- Customize NavBar [\\#1346](https://github.com/aksonov/react-native-router-flux/issues/1346)\n- Get Current Scene Key [\\#1345](https://github.com/aksonov/react-native-router-flux/issues/1345)\n- Cannot find route with key=xx for parent =0\\_xx \\(sidemenu\\) [\\#1344](https://github.com/aksonov/react-native-router-flux/issues/1344)\n- Example not working on XCode 8 [\\#1340](https://github.com/aksonov/react-native-router-flux/issues/1340)\n- Use tab to open drawer [\\#1338](https://github.com/aksonov/react-native-router-flux/issues/1338)\n- Is there a TouchableOpacity wrapper for my tabbar icon? [\\#1336](https://github.com/aksonov/react-native-router-flux/issues/1336)\n- Navbar / Initital Scene rendering issue [\\#1334](https://github.com/aksonov/react-native-router-flux/issues/1334)\n- How to position tab bar on top? [\\#1333](https://github.com/aksonov/react-native-router-flux/issues/1333)\n- react-native-navigation with react-native-router-flux [\\#1332](https://github.com/aksonov/react-native-router-flux/issues/1332)\n- Push Scene from within A Tab Scene [\\#1331](https://github.com/aksonov/react-native-router-flux/issues/1331)\n- Scenes inside tabs getting unmounted and then re-mounted [\\#1329](https://github.com/aksonov/react-native-router-flux/issues/1329)\n- Pop without animation [\\#1325](https://github.com/aksonov/react-native-router-flux/issues/1325)\n- NavBar won't display if split\\(nested\\) scenes wrapped in Drawer [\\#1324](https://github.com/aksonov/react-native-router-flux/issues/1324)\n- Save/cancel changes to component from navbar buttons [\\#1322](https://github.com/aksonov/react-native-router-flux/issues/1322)\n- how to open parents router scene when in child router. [\\#1319](https://github.com/aksonov/react-native-router-flux/issues/1319)\n- navigationBarBackgroundImage usage [\\#1310](https://github.com/aksonov/react-native-router-flux/issues/1310)\n- Returning to previous Activity when orientation changes [\\#1308](https://github.com/aksonov/react-native-router-flux/issues/1308)\n- Scene title is not updated while title={title} value was changed [\\#1307](https://github.com/aksonov/react-native-router-flux/issues/1307)\n- Can react-native-router-flux suport time travel with redux-devtools? And how? [\\#1306](https://github.com/aksonov/react-native-router-flux/issues/1306)\n- Send props to tabicons? [\\#1304](https://github.com/aksonov/react-native-router-flux/issues/1304)\n- does it support plain javascript object [\\#1303](https://github.com/aksonov/react-native-router-flux/issues/1303)\n- Is there a method called on a component when it is navigated to? [\\#1300](https://github.com/aksonov/react-native-router-flux/issues/1300)\n- Initial Component in TabBar Mounted Twice [\\#1293](https://github.com/aksonov/react-native-router-flux/issues/1293)\n- Example build breaks on XCode 8 [\\#1291](https://github.com/aksonov/react-native-router-flux/issues/1291)\n- Unexpected back button target [\\#1286](https://github.com/aksonov/react-native-router-flux/issues/1286)\n- Expected onPress listener to be a function, instead got type boolean [\\#1280](https://github.com/aksonov/react-native-router-flux/issues/1280)\n- Cant return a initial Scene from Drawer [\\#1278](https://github.com/aksonov/react-native-router-flux/issues/1278)\n- Not Working on Release Build? [\\#1277](https://github.com/aksonov/react-native-router-flux/issues/1277)\n- \\[Android\\] Release APK crashes with \\<Router\\> [\\#1276](https://github.com/aksonov/react-native-router-flux/issues/1276)\n- 找不到符号 BuildConfig.DEBUG; [\\#1272](https://github.com/aksonov/react-native-router-flux/issues/1272)\n- The initial tab with scrollable views witch  can not be scrolled when tap between tabs and back to the initial tab [\\#1270](https://github.com/aksonov/react-native-router-flux/issues/1270)\n- Can't test with tape due to unbuilt version [\\#1269](https://github.com/aksonov/react-native-router-flux/issues/1269)\n- Example on how to create two drawers? Left & Right? [\\#1256](https://github.com/aksonov/react-native-router-flux/issues/1256)\n- Same component used, when pushed componentDidMount not called [\\#1254](https://github.com/aksonov/react-native-router-flux/issues/1254)\n- Is it possible to hide a particular tab in TabBar from inside a scene? [\\#1247](https://github.com/aksonov/react-native-router-flux/issues/1247)\n- Question: Using clone={true} [\\#1245](https://github.com/aksonov/react-native-router-flux/issues/1245)\n- Error using redux and Switch [\\#1242](https://github.com/aksonov/react-native-router-flux/issues/1242)\n- onPress working without pressing it. [\\#1240](https://github.com/aksonov/react-native-router-flux/issues/1240)\n- Can't retrieve the selected status of a tab to change icon color [\\#1234](https://github.com/aksonov/react-native-router-flux/issues/1234)\n- Testing in appium [\\#1229](https://github.com/aksonov/react-native-router-flux/issues/1229)\n- NavigationAnimatedView has been replaced by NavigationTransitioner [\\#1228](https://github.com/aksonov/react-native-router-flux/issues/1228)\n- Drawer is showing [\\#1213](https://github.com/aksonov/react-native-router-flux/issues/1213)\n- Tab bar with sectioned views [\\#1203](https://github.com/aksonov/react-native-router-flux/issues/1203)\n- Can i add component to left or right side, and not just text? [\\#1201](https://github.com/aksonov/react-native-router-flux/issues/1201)\n- left or right button text not show [\\#1200](https://github.com/aksonov/react-native-router-flux/issues/1200)\n- Same component mounted 2 times when nested. using tabs and clone [\\#1195](https://github.com/aksonov/react-native-router-flux/issues/1195)\n- Scene stops responding on pop or pushing scene back into view [\\#1188](https://github.com/aksonov/react-native-router-flux/issues/1188)\n- Setting status bar component for all scenes [\\#1183](https://github.com/aksonov/react-native-router-flux/issues/1183)\n- Action.pop\\(\\) in drawer side menu is not working  [\\#1178](https://github.com/aksonov/react-native-router-flux/issues/1178)\n- Remove Back Button For Android [\\#1173](https://github.com/aksonov/react-native-router-flux/issues/1173)\n- Scene not unmounting using Switch [\\#1170](https://github.com/aksonov/react-native-router-flux/issues/1170)\n- Button unpressable [\\#1169](https://github.com/aksonov/react-native-router-flux/issues/1169)\n- Can't install the Example on Android [\\#1167](https://github.com/aksonov/react-native-router-flux/issues/1167)\n- You are already in the root scene \\(on back / pop\\) [\\#1165](https://github.com/aksonov/react-native-router-flux/issues/1165)\n- mponent [\\#1164](https://github.com/aksonov/react-native-router-flux/issues/1164)\n- BackAndroid not working with react-native-router-flux [\\#1163](https://github.com/aksonov/react-native-router-flux/issues/1163)\n- Change TabIcon from the scene [\\#1161](https://github.com/aksonov/react-native-router-flux/issues/1161)\n- Documentation for customizing nav bar [\\#1157](https://github.com/aksonov/react-native-router-flux/issues/1157)\n- Dropdown overlay issue in Android [\\#1152](https://github.com/aksonov/react-native-router-flux/issues/1152)\n- navigationState doesn't include all tab children [\\#1151](https://github.com/aksonov/react-native-router-flux/issues/1151)\n- Component from the previous scene when i push a new scene [\\#1149](https://github.com/aksonov/react-native-router-flux/issues/1149)\n- Actions.SCENE on navbar not working [\\#1145](https://github.com/aksonov/react-native-router-flux/issues/1145)\n- Modal outside/on top of drawer height [\\#1141](https://github.com/aksonov/react-native-router-flux/issues/1141)\n- How to change route within reducer? [\\#1139](https://github.com/aksonov/react-native-router-flux/issues/1139)\n- Rerendering a tab when clicking to it? [\\#1138](https://github.com/aksonov/react-native-router-flux/issues/1138)\n- ignore [\\#1126](https://github.com/aksonov/react-native-router-flux/issues/1126)\n- MapView swipe down issue in scene with direction=\"vertical\"  [\\#1116](https://github.com/aksonov/react-native-router-flux/issues/1116)\n- Is navigator object available as props in component [\\#1113](https://github.com/aksonov/react-native-router-flux/issues/1113)\n- \\[Error\\]: react-native-router-flux\\] component property is not set for key=root  [\\#1108](https://github.com/aksonov/react-native-router-flux/issues/1108)\n- Initial scene not shown [\\#1091](https://github.com/aksonov/react-native-router-flux/issues/1091)\n- What do the ActionConst do? [\\#1072](https://github.com/aksonov/react-native-router-flux/issues/1072)\n- Problem when showing WebView in drawer \\(maybe also in tab\\) [\\#1068](https://github.com/aksonov/react-native-router-flux/issues/1068)\n- How to set custom drawer button that is not an image? [\\#1051](https://github.com/aksonov/react-native-router-flux/issues/1051)\n- Can't create dropdown button in navbar [\\#1042](https://github.com/aksonov/react-native-router-flux/issues/1042)\n- How should I put some common components into every scene? [\\#1034](https://github.com/aksonov/react-native-router-flux/issues/1034)\n- Put Image at the navBar [\\#1027](https://github.com/aksonov/react-native-router-flux/issues/1027)\n- how can i reset 'switch' and pop some pages? [\\#1023](https://github.com/aksonov/react-native-router-flux/issues/1023)\n- Unmounted scenes after reset [\\#1019](https://github.com/aksonov/react-native-router-flux/issues/1019)\n- navbar can not transparent [\\#1017](https://github.com/aksonov/react-native-router-flux/issues/1017)\n- UNMET PEER DEPENDENCY react@^15.3.0 [\\#991](https://github.com/aksonov/react-native-router-flux/issues/991)\n- How to use switch when we use Drawer Component [\\#990](https://github.com/aksonov/react-native-router-flux/issues/990)\n- Weird background color [\\#948](https://github.com/aksonov/react-native-router-flux/issues/948)\n- Tabbed Scenes to hide/show tabbar on listview scroll down/up? [\\#898](https://github.com/aksonov/react-native-router-flux/issues/898)\n- Drawer swipe on replace [\\#889](https://github.com/aksonov/react-native-router-flux/issues/889)\n\n**Merged pull requests:**\n\n- Documentation for drawer \\(side menu\\) integration [\\#1614](https://github.com/aksonov/react-native-router-flux/pull/1614) ([jeongmincha](https://github.com/jeongmincha))\n- \\#1216 - Add `open` prop to TS declaration [\\#1576](https://github.com/aksonov/react-native-router-flux/pull/1576) ([BrendanBerkley](https://github.com/BrendanBerkley))\n- Code Climate config  [\\#1542](https://github.com/aksonov/react-native-router-flux/pull/1542) ([larkinscott](https://github.com/larkinscott))\n- Add Travis CI config file [\\#1522](https://github.com/aksonov/react-native-router-flux/pull/1522) ([Swordsman-Inaction](https://github.com/Swordsman-Inaction))\n- Fix eslint errors [\\#1521](https://github.com/aksonov/react-native-router-flux/pull/1521) ([Swordsman-Inaction](https://github.com/Swordsman-Inaction))\n- Added BusDue app to README [\\#1501](https://github.com/aksonov/react-native-router-flux/pull/1501) ([ywongweb](https://github.com/ywongweb))\n- Update API\\_CONFIGURATION.md [\\#1488](https://github.com/aksonov/react-native-router-flux/pull/1488) ([javiercr](https://github.com/javiercr))\n- Pass props down to child components [\\#1472](https://github.com/aksonov/react-native-router-flux/pull/1472) ([DonnieWest](https://github.com/DonnieWest))\n- Fix android back error [\\#1451](https://github.com/aksonov/react-native-router-flux/pull/1451) ([Swordsman-Inaction](https://github.com/Swordsman-Inaction))\n- Update Eslint and Airbnb rules [\\#1425](https://github.com/aksonov/react-native-router-flux/pull/1425) ([MechanicKim](https://github.com/MechanicKim))\n- Fix ci [\\#1422](https://github.com/aksonov/react-native-router-flux/pull/1422) ([charpeni](https://github.com/charpeni))\n- clarify prop types [\\#1416](https://github.com/aksonov/react-native-router-flux/pull/1416) ([johnstonmatt](https://github.com/johnstonmatt))\n- Temporarily disable jest testing on Example project [\\#1415](https://github.com/aksonov/react-native-router-flux/pull/1415) ([charpeni](https://github.com/charpeni))\n- Revert \"fixing issue \\#1167\" [\\#1413](https://github.com/aksonov/react-native-router-flux/pull/1413) ([charpeni](https://github.com/charpeni))\n- add type support for panHandlers={null} in Scene [\\#1404](https://github.com/aksonov/react-native-router-flux/pull/1404) ([wcandillon](https://github.com/wcandillon))\n- Fix not available navigationState and onNavigate in Modal [\\#1392](https://github.com/aksonov/react-native-router-flux/pull/1392) ([inferusvv](https://github.com/inferusvv))\n- Update API\\_CONFIGURATION.md [\\#1375](https://github.com/aksonov/react-native-router-flux/pull/1375) ([ximenean](https://github.com/ximenean))\n- DEL width for the button in NavBar [\\#1368](https://github.com/aksonov/react-native-router-flux/pull/1368) ([sarovin](https://github.com/sarovin))\n- fix imports in redux example for current RN version [\\#1321](https://github.com/aksonov/react-native-router-flux/pull/1321) ([Simek](https://github.com/Simek))\n- Restore 0.35 JUMP handling [\\#1312](https://github.com/aksonov/react-native-router-flux/pull/1312) ([wrozka](https://github.com/wrozka))\n- Add NodeICO badge. [\\#1295](https://github.com/aksonov/react-native-router-flux/pull/1295) ([dragfire](https://github.com/dragfire))\n- Add production app - Buddify [\\#1292](https://github.com/aksonov/react-native-router-flux/pull/1292) ([ecoinomist](https://github.com/ecoinomist))\n- Add more detail information on TabBar [\\#1287](https://github.com/aksonov/react-native-router-flux/pull/1287) ([dragfire](https://github.com/dragfire))\n- Update REDUX\\_FLUX.md [\\#1271](https://github.com/aksonov/react-native-router-flux/pull/1271) ([moaxaca](https://github.com/moaxaca))\n- Improved RNRFActions interface definition [\\#1244](https://github.com/aksonov/react-native-router-flux/pull/1244) ([jankalfus](https://github.com/jankalfus))\n- correction to \\#1057 [\\#1236](https://github.com/aksonov/react-native-router-flux/pull/1236) ([alexicum](https://github.com/alexicum))\n- Provide routes to scene's context [\\#1232](https://github.com/aksonov/react-native-router-flux/pull/1232) ([peteychuk](https://github.com/peteychuk))\n- Add a production app - Look Lock [\\#1225](https://github.com/aksonov/react-native-router-flux/pull/1225) ([7kfpun](https://github.com/7kfpun))\n- Change license to MIT [\\#1212](https://github.com/aksonov/react-native-router-flux/pull/1212) ([charpeni](https://github.com/charpeni))\n- Update OTHER\\_INFO.md [\\#1205](https://github.com/aksonov/react-native-router-flux/pull/1205) ([roura356a](https://github.com/roura356a))\n- titleWrapperStyle from props [\\#1185](https://github.com/aksonov/react-native-router-flux/pull/1185) ([stereodenis](https://github.com/stereodenis))\n- Allow the passing of props via the popTo Action [\\#1172](https://github.com/aksonov/react-native-router-flux/pull/1172) ([rseemann](https://github.com/rseemann))\n- Update OTHER\\_INFO.md [\\#1171](https://github.com/aksonov/react-native-router-flux/pull/1171) ([sadika9](https://github.com/sadika9))\n- fixing issue \\#1167 [\\#1168](https://github.com/aksonov/react-native-router-flux/pull/1168) ([compojoom](https://github.com/compojoom))\n- adding snappatizer to readme [\\#1153](https://github.com/aksonov/react-native-router-flux/pull/1153) ([erdostom](https://github.com/erdostom))\n- Fix syntax error in example [\\#1140](https://github.com/aksonov/react-native-router-flux/pull/1140) ([RafalWilinski](https://github.com/RafalWilinski))\n- fix routes not initialized on parent componentDidMount [\\#1137](https://github.com/aksonov/react-native-router-flux/pull/1137) ([atlanteh](https://github.com/atlanteh))\n- Fix Jest Snapshot and add CircleCi badge [\\#1135](https://github.com/aksonov/react-native-router-flux/pull/1135) ([charpeni](https://github.com/charpeni))\n- Revert \"Revert \"Support passing props to tab routes\"\" [\\#1133](https://github.com/aksonov/react-native-router-flux/pull/1133) ([aksonov](https://github.com/aksonov))\n- export TabbedView [\\#1132](https://github.com/aksonov/react-native-router-flux/pull/1132) ([n7olkachev](https://github.com/n7olkachev))\n- Revert \"Support passing props to tab routes\" [\\#1129](https://github.com/aksonov/react-native-router-flux/pull/1129) ([aksonov](https://github.com/aksonov))\n- Add action const POP\\_AND\\_REPLACE [\\#1119](https://github.com/aksonov/react-native-router-flux/pull/1119) ([bifrost](https://github.com/bifrost))\n- update note to prevent `Key is already defined` [\\#1098](https://github.com/aksonov/react-native-router-flux/pull/1098) ([zxcpoiu](https://github.com/zxcpoiu))\n- add ActionConst and Scene.type explaination [\\#1097](https://github.com/aksonov/react-native-router-flux/pull/1097) ([zxcpoiu](https://github.com/zxcpoiu))\n- Allow to force parent tabs to hide when child tabs is added [\\#1094](https://github.com/aksonov/react-native-router-flux/pull/1094) ([fkoester](https://github.com/fkoester))\n- Fix for back button not displayed when pushing tabs scene. [\\#1093](https://github.com/aksonov/react-native-router-flux/pull/1093) ([fkoester](https://github.com/fkoester))\n- \\[Fixed 1087\\] Long titles display with a dots at the end, not hidden behind the buttons [\\#1088](https://github.com/aksonov/react-native-router-flux/pull/1088) ([lesniakania](https://github.com/lesniakania))\n- Make possible to specify background image for the Tabs [\\#1083](https://github.com/aksonov/react-native-router-flux/pull/1083) ([januswel](https://github.com/januswel))\n- Make possible to specify background image for the NavBar [\\#1082](https://github.com/aksonov/react-native-router-flux/pull/1082) ([januswel](https://github.com/januswel))\n- pass direction to getPanHandlers [\\#1059](https://github.com/aksonov/react-native-router-flux/pull/1059) ([vonovak](https://github.com/vonovak))\n- Support passing props to tab routes [\\#1057](https://github.com/aksonov/react-native-router-flux/pull/1057) ([benstepp](https://github.com/benstepp))\n\n## [v3.35.0](https://github.com/aksonov/react-native-router-flux/tree/v3.35.0) (2016-08-25)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/3.30.1...v3.35.0)\n\n**Closed issues:**\n\n- How to disable title bar on certain scenes? [\\#1107](https://github.com/aksonov/react-native-router-flux/issues/1107)\n- Defining custom buttons on root scene [\\#1080](https://github.com/aksonov/react-native-router-flux/issues/1080)\n- How to customize drawer button [\\#1078](https://github.com/aksonov/react-native-router-flux/issues/1078)\n- How to call a function in scene component when scene left or right button is clicked? [\\#1073](https://github.com/aksonov/react-native-router-flux/issues/1073)\n- panHandlers not honored with nested scenes [\\#1055](https://github.com/aksonov/react-native-router-flux/issues/1055)\n- navBar and Expected a component class, got \\[object, Object\\] [\\#1041](https://github.com/aksonov/react-native-router-flux/issues/1041)\n- \\[Help wanted\\] Keep routing state on simulator reload [\\#1025](https://github.com/aksonov/react-native-router-flux/issues/1025)\n- Unable to resolve module fbjs/lib/emptyFunction [\\#1024](https://github.com/aksonov/react-native-router-flux/issues/1024)\n- Unable to resolve module react-addons-pure-render-mixin [\\#1022](https://github.com/aksonov/react-native-router-flux/issues/1022)\n- Unknown plugin \"syntax-flow\" [\\#1020](https://github.com/aksonov/react-native-router-flux/issues/1020)\n- NavigationExperimental.js: \\_\\_DEV\\_\\_ is not defined [\\#1015](https://github.com/aksonov/react-native-router-flux/issues/1015)\n- support BackAndroid hardwareBackPress [\\#1012](https://github.com/aksonov/react-native-router-flux/issues/1012)\n- How can I pass variables to previouse scene in Actions.pop\\(\\) operation [\\#1008](https://github.com/aksonov/react-native-router-flux/issues/1008)\n- Push Scene from a tab [\\#1007](https://github.com/aksonov/react-native-router-flux/issues/1007)\n- How to navigate to a new scene with onRight [\\#993](https://github.com/aksonov/react-native-router-flux/issues/993)\n- Best way to dispatch a redux action from within the toolbar actions?  [\\#984](https://github.com/aksonov/react-native-router-flux/issues/984)\n- initialRoute doesn't set initial route [\\#971](https://github.com/aksonov/react-native-router-flux/issues/971)\n- How is the header implemented in the Example app [\\#967](https://github.com/aksonov/react-native-router-flux/issues/967)\n- Tab bar transition [\\#966](https://github.com/aksonov/react-native-router-flux/issues/966)\n- Can't run examples [\\#963](https://github.com/aksonov/react-native-router-flux/issues/963)\n- TabBar is not showing [\\#959](https://github.com/aksonov/react-native-router-flux/issues/959)\n- Unmounting Scenes [\\#955](https://github.com/aksonov/react-native-router-flux/issues/955)\n- RN 0.30 Incompatibility [\\#954](https://github.com/aksonov/react-native-router-flux/issues/954)\n- Switch component don't work [\\#952](https://github.com/aksonov/react-native-router-flux/issues/952)\n- Issue [\\#951](https://github.com/aksonov/react-native-router-flux/issues/951)\n- Is it possible to fire action when clicking on the title of the navbar [\\#949](https://github.com/aksonov/react-native-router-flux/issues/949)\n- We get 'Import libraries to android \"rnpm link\"' screen on app launch and the app stops [\\#946](https://github.com/aksonov/react-native-router-flux/issues/946)\n- React Native Tabs version in RNRF [\\#935](https://github.com/aksonov/react-native-router-flux/issues/935)\n- Tab Transitions [\\#929](https://github.com/aksonov/react-native-router-flux/issues/929)\n- Event Listener for Route Change? or something similar [\\#928](https://github.com/aksonov/react-native-router-flux/issues/928)\n- Background image [\\#927](https://github.com/aksonov/react-native-router-flux/issues/927)\n- react-native-scrollable-tab-view is slow when put inside a scene [\\#924](https://github.com/aksonov/react-native-router-flux/issues/924)\n- borderTopWidth for tabBarStyle does not work well if it is set to decimal fraction on iPhone 6/6s Plus [\\#921](https://github.com/aksonov/react-native-router-flux/issues/921)\n- 0.29 support? [\\#910](https://github.com/aksonov/react-native-router-flux/issues/910)\n- Can I Actions with programmatically?  [\\#907](https://github.com/aksonov/react-native-router-flux/issues/907)\n- peerDependencies issue with react 15.2.0 [\\#905](https://github.com/aksonov/react-native-router-flux/issues/905)\n- Possibility to use icons in navbar [\\#902](https://github.com/aksonov/react-native-router-flux/issues/902)\n- Question: is there any easy way to set a navigation title based on a component or a redux state? [\\#897](https://github.com/aksonov/react-native-router-flux/issues/897)\n- Components lifecycle [\\#896](https://github.com/aksonov/react-native-router-flux/issues/896)\n- Scene {type:'reset'} or type=\"reset\" is not working in 3.30.4 version. [\\#894](https://github.com/aksonov/react-native-router-flux/issues/894)\n- flowtype  report so many error [\\#892](https://github.com/aksonov/react-native-router-flux/issues/892)\n- How can i add gradient in background color of navbar? [\\#890](https://github.com/aksonov/react-native-router-flux/issues/890)\n- Example Launch.js action cannot go to tabbar specific tab page [\\#884](https://github.com/aksonov/react-native-router-flux/issues/884)\n- Tabbar gone, but tabIcons are still there [\\#883](https://github.com/aksonov/react-native-router-flux/issues/883)\n- Drawer seems to break everything? [\\#881](https://github.com/aksonov/react-native-router-flux/issues/881)\n- Right button Icon sizes not working? Where to override styling for navigation icons. [\\#880](https://github.com/aksonov/react-native-router-flux/issues/880)\n- A bug in Example's TabBar page [\\#879](https://github.com/aksonov/react-native-router-flux/issues/879)\n- Actions.KEY\\_NAME doesn't do anything.  [\\#876](https://github.com/aksonov/react-native-router-flux/issues/876)\n- Run two actions on Sidebar onPress function [\\#869](https://github.com/aksonov/react-native-router-flux/issues/869)\n- Fade from one scene to another? [\\#867](https://github.com/aksonov/react-native-router-flux/issues/867)\n- 'RCTTextField not a descendant of RCTShadowView' crash when TextInput is focused [\\#865](https://github.com/aksonov/react-native-router-flux/issues/865)\n- Image instead of string for scene title... [\\#863](https://github.com/aksonov/react-native-router-flux/issues/863)\n- assemble cannot package backicon.png.  Looks like file name is wrong, missing delimiters. [\\#859](https://github.com/aksonov/react-native-router-flux/issues/859)\n- Switch without replacing [\\#858](https://github.com/aksonov/react-native-router-flux/issues/858)\n- pushing additional modals onto the navigation stack  [\\#856](https://github.com/aksonov/react-native-router-flux/issues/856)\n- APK building fails with 3.30.0 on windows [\\#852](https://github.com/aksonov/react-native-router-flux/issues/852)\n- Duplicate module name: AutoFocusUtils [\\#849](https://github.com/aksonov/react-native-router-flux/issues/849)\n- Can't implement react-native-drawer : 'unique key should be defined' [\\#845](https://github.com/aksonov/react-native-router-flux/issues/845)\n- Possible to define Navigator Stack 'type' in Action call? [\\#844](https://github.com/aksonov/react-native-router-flux/issues/844)\n- Back button color  [\\#840](https://github.com/aksonov/react-native-router-flux/issues/840)\n- leftButtonImage does not render [\\#837](https://github.com/aksonov/react-native-router-flux/issues/837)\n- set Icons in tabbar  [\\#832](https://github.com/aksonov/react-native-router-flux/issues/832)\n- typescript definitions broken? [\\#830](https://github.com/aksonov/react-native-router-flux/issues/830)\n- document action types \\(pop,jump,refresh etc\\) [\\#829](https://github.com/aksonov/react-native-router-flux/issues/829)\n- Unmet Peer Dependency from latest version of this library [\\#822](https://github.com/aksonov/react-native-router-flux/issues/822)\n- Version 3.30.0 on npm causes errors with npm start [\\#814](https://github.com/aksonov/react-native-router-flux/issues/814)\n- BackAction not dispatched when I swipe a Schene. [\\#807](https://github.com/aksonov/react-native-router-flux/issues/807)\n- Disable \"swipe to go back\" for modal [\\#796](https://github.com/aksonov/react-native-router-flux/issues/796)\n- Routing from inside a tab scene to outside it breaks the navbar [\\#773](https://github.com/aksonov/react-native-router-flux/issues/773)\n\n**Merged pull requests:**\n\n- Add \"chozun\" production app [\\#1104](https://github.com/aksonov/react-native-router-flux/pull/1104) ([eulo](https://github.com/eulo))\n- Update DefaultRenderer.js [\\#1058](https://github.com/aksonov/react-native-router-flux/pull/1058) ([vonovak](https://github.com/vonovak))\n- Add default style to renderLeftButton and renderRightButton [\\#1054](https://github.com/aksonov/react-native-router-flux/pull/1054) ([moschan](https://github.com/moschan))\n- Feat\\(BackAndroid\\): Add handler for Back Key in Android [\\#1049](https://github.com/aksonov/react-native-router-flux/pull/1049) ([Swordsman-Inaction](https://github.com/Swordsman-Inaction))\n- added getRightTitle and getLeftTitle [\\#1043](https://github.com/aksonov/react-native-router-flux/pull/1043) ([wtfil](https://github.com/wtfil))\n- Add documentation for left to right option added on PR\\#1032 [\\#1036](https://github.com/aksonov/react-native-router-flux/pull/1036) ([stephy](https://github.com/stephy))\n- Add 'leftToRight' direction support [\\#1032](https://github.com/aksonov/react-native-router-flux/pull/1032) ([stephy](https://github.com/stephy))\n- Add Jest Snapshot and configure CircleCi parallelism [\\#1029](https://github.com/aksonov/react-native-router-flux/pull/1029) ([charpeni](https://github.com/charpeni))\n- ADD react-addons-pure-render-mixin dependency [\\#1021](https://github.com/aksonov/react-native-router-flux/pull/1021) ([sarovin](https://github.com/sarovin))\n- Allow POP and similar actions to refresh the previous scene [\\#1016](https://github.com/aksonov/react-native-router-flux/pull/1016) ([doomsower](https://github.com/doomsower))\n- Restore statem [\\#1013](https://github.com/aksonov/react-native-router-flux/pull/1013) ([aksonov](https://github.com/aksonov))\n- ADD shouldComponentUpdate for DefaultRenderer [\\#1006](https://github.com/aksonov/react-native-router-flux/pull/1006) ([sarovin](https://github.com/sarovin))\n- refactor \\#996 [\\#1002](https://github.com/aksonov/react-native-router-flux/pull/1002) ([sarovin](https://github.com/sarovin))\n- fix\\(NavBar\\): don't render custom BackButton if root nav state [\\#998](https://github.com/aksonov/react-native-router-flux/pull/998) ([blackxored](https://github.com/blackxored))\n- Fix minor typo in docs [\\#986](https://github.com/aksonov/react-native-router-flux/pull/986) ([eronisko](https://github.com/eronisko))\n- feat\\(navBar\\): add optional titleProps to NavBar [\\#968](https://github.com/aksonov/react-native-router-flux/pull/968) ([sondremare](https://github.com/sondremare))\n- Add ActionsConst to index.d.ts [\\#964](https://github.com/aksonov/react-native-router-flux/pull/964) ([stephenlaughton](https://github.com/stephenlaughton))\n- Scene - implemented getPanHandlers prop [\\#961](https://github.com/aksonov/react-native-router-flux/pull/961) ([philipshurpik](https://github.com/philipshurpik))\n- Actions get [\\#957](https://github.com/aksonov/react-native-router-flux/pull/957) ([aksonov](https://github.com/aksonov))\n- Feat\\(TabBar\\): add pressOpacity for TabBar [\\#956](https://github.com/aksonov/react-native-router-flux/pull/956) ([Swordsman-Inaction](https://github.com/Swordsman-Inaction))\n- Add pushOrPop action - it will pop if scene exists in the stack, push… [\\#947](https://github.com/aksonov/react-native-router-flux/pull/947) ([aksonov](https://github.com/aksonov))\n- Add \"Junk Free\" production app [\\#941](https://github.com/aksonov/react-native-router-flux/pull/941) ([Olliepop](https://github.com/Olliepop))\n- Update tabs version [\\#940](https://github.com/aksonov/react-native-router-flux/pull/940) ([andrispraulitis](https://github.com/andrispraulitis))\n- fix\\(navigationState\\): avoid undefined key for root scenes [\\#936](https://github.com/aksonov/react-native-router-flux/pull/936) ([blackxored](https://github.com/blackxored))\n- added new switch feature - unmountScenes [\\#932](https://github.com/aksonov/react-native-router-flux/pull/932) ([ms88privat](https://github.com/ms88privat))\n- added Modal example usage to OTHER\\_INFO.md for issue number \\#893 [\\#923](https://github.com/aksonov/react-native-router-flux/pull/923) ([brien-crean](https://github.com/brien-crean))\n- Document PopNum [\\#916](https://github.com/aksonov/react-native-router-flux/pull/916) ([K-Leon](https://github.com/K-Leon))\n- Fix typo error. [\\#912](https://github.com/aksonov/react-native-router-flux/pull/912) ([LittleLin](https://github.com/LittleLin))\n- \\[RFC\\] add parent and key as prefix to new key [\\#911](https://github.com/aksonov/react-native-router-flux/pull/911) ([joenoon](https://github.com/joenoon))\n- Revert \"refactor \\#870\" [\\#901](https://github.com/aksonov/react-native-router-flux/pull/901) ([aksonov](https://github.com/aksonov))\n- normalize action name with prefix and expose it from module [\\#900](https://github.com/aksonov/react-native-router-flux/pull/900) ([zxcpoiu](https://github.com/zxcpoiu))\n- Revert \"Prefix action strings to namespace them.\" [\\#899](https://github.com/aksonov/react-native-router-flux/pull/899) ([aksonov](https://github.com/aksonov))\n- refactor \\#870 [\\#886](https://github.com/aksonov/react-native-router-flux/pull/886) ([joenoon](https://github.com/joenoon))\n- Added optional tabBarIconContainerStyle property to override the style of the icon container view. [\\#875](https://github.com/aksonov/react-native-router-flux/pull/875) ([SudoPlz](https://github.com/SudoPlz))\n- Removed fontWeight style from NavBar title [\\#873](https://github.com/aksonov/react-native-router-flux/pull/873) ([andrispraulitis](https://github.com/andrispraulitis))\n- add latest statem support [\\#871](https://github.com/aksonov/react-native-router-flux/pull/871) ([aksonov](https://github.com/aksonov))\n- Allow for one scene to fade into the next in addition to horizontal/vertical [\\#868](https://github.com/aksonov/react-native-router-flux/pull/868) ([andyschwob](https://github.com/andyschwob))\n- Cleanup babel dependencies [\\#866](https://github.com/aksonov/react-native-router-flux/pull/866) ([charpeni](https://github.com/charpeni))\n- Fix missing brackets in docs [\\#861](https://github.com/aksonov/react-native-router-flux/pull/861) ([dustin-H](https://github.com/dustin-H))\n- Use ./components/TabIcon [\\#851](https://github.com/aksonov/react-native-router-flux/pull/851) ([sarovin](https://github.com/sarovin))\n- Add eslint import/no-unresolved config [\\#847](https://github.com/aksonov/react-native-router-flux/pull/847) ([charpeni](https://github.com/charpeni))\n- Replace `assert` in Switch.js with custom `assert` [\\#846](https://github.com/aksonov/react-native-router-flux/pull/846) ([Kerumen](https://github.com/Kerumen))\n- Prefix action strings to namespace them. [\\#843](https://github.com/aksonov/react-native-router-flux/pull/843) ([ThaJay](https://github.com/ThaJay))\n- remove extra rnrf tab styling [\\#839](https://github.com/aksonov/react-native-router-flux/pull/839) ([joenoon](https://github.com/joenoon))\n- Render leftButtonImage [\\#838](https://github.com/aksonov/react-native-router-flux/pull/838) ([rowellx68](https://github.com/rowellx68))\n- Revert \"Feature Hand Back Key for Android\" [\\#835](https://github.com/aksonov/react-native-router-flux/pull/835) ([aksonov](https://github.com/aksonov))\n- Fix typescript definition [\\#831](https://github.com/aksonov/react-native-router-flux/pull/831) ([xirc](https://github.com/xirc))\n- tabs show onPress item [\\#828](https://github.com/aksonov/react-native-router-flux/pull/828) ([phproot](https://github.com/phproot))\n- Fix NavBar backButtonImage propType [\\#826](https://github.com/aksonov/react-native-router-flux/pull/826) ([asokol](https://github.com/asokol))\n- use js instead of jsx in readme code block [\\#825](https://github.com/aksonov/react-native-router-flux/pull/825) ([chentsulin](https://github.com/chentsulin))\n- Default left button size unless size is overwritten [\\#824](https://github.com/aksonov/react-native-router-flux/pull/824) ([codyhazelwood](https://github.com/codyhazelwood))\n- Fix in Typescript definitions [\\#823](https://github.com/aksonov/react-native-router-flux/pull/823) ([dalcib](https://github.com/dalcib))\n- \\[actions\\]: \\(fix\\): fix the case when there's no array defined to map sub-views [\\#821](https://github.com/aksonov/react-native-router-flux/pull/821) ([alextkd](https://github.com/alextkd))\n- Feature Hand Back Key for Android [\\#820](https://github.com/aksonov/react-native-router-flux/pull/820) ([Swordsman-Inaction](https://github.com/Swordsman-Inaction))\n- Alignment the elements for the navbar [\\#818](https://github.com/aksonov/react-native-router-flux/pull/818) ([sarovin](https://github.com/sarovin))\n\n## [3.30.1](https://github.com/aksonov/react-native-router-flux/tree/3.30.1) (2016-06-15)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/3.26.0...3.30.1)\n\n**Fixed bugs:**\n\n- Element type is invalid [\\#728](https://github.com/aksonov/react-native-router-flux/issues/728)\n- `Router` is undefined on RN 0.26.1 [\\#727](https://github.com/aksonov/react-native-router-flux/issues/727)\n- tabs scene not rendering anymore =\\> hideTabBar not working [\\#722](https://github.com/aksonov/react-native-router-flux/issues/722)\n- \\[v3.26.1\\] Drawer Button don't display [\\#710](https://github.com/aksonov/react-native-router-flux/issues/710)\n- Adding styles to a tab bar causes poor performance [\\#687](https://github.com/aksonov/react-native-router-flux/issues/687)\n- Scenes seems to be recreated on every dispatched redux action  [\\#685](https://github.com/aksonov/react-native-router-flux/issues/685)\n- Nav image flicker between scene transitions. [\\#442](https://github.com/aksonov/react-native-router-flux/issues/442)\n\n**Closed issues:**\n\n- Inner Scenes render position left -3 [\\#819](https://github.com/aksonov/react-native-router-flux/issues/819)\n- Custom Tab Bar [\\#816](https://github.com/aksonov/react-native-router-flux/issues/816)\n- what's the difference between reset and replace? [\\#813](https://github.com/aksonov/react-native-router-flux/issues/813)\n- Scene dynamic initial [\\#812](https://github.com/aksonov/react-native-router-flux/issues/812)\n- Back button [\\#810](https://github.com/aksonov/react-native-router-flux/issues/810)\n- Go back to any scene before current one? [\\#804](https://github.com/aksonov/react-native-router-flux/issues/804)\n- Cannot pop twice [\\#803](https://github.com/aksonov/react-native-router-flux/issues/803)\n- If you are passing component={Drawer} to show your DrawerLayout, how are you opening/closing it using the navbar burger button? [\\#799](https://github.com/aksonov/react-native-router-flux/issues/799)\n- \\[New Feature\\] Modifiers for refresh action [\\#797](https://github.com/aksonov/react-native-router-flux/issues/797)\n- Prop for drawerImage placement on `left` and `right` of navigationBar [\\#794](https://github.com/aksonov/react-native-router-flux/issues/794)\n- Avoid `rightButtonImage` or `rightTitle` warning when set to `null` [\\#790](https://github.com/aksonov/react-native-router-flux/issues/790)\n- onLeft and leftTitle do not work using Example on tab2\\_2 [\\#789](https://github.com/aksonov/react-native-router-flux/issues/789)\n- React native 27 is out 3 hours ago. Any plans for 3.27.0? [\\#786](https://github.com/aksonov/react-native-router-flux/issues/786)\n- Search field in navbar loses focus after animation [\\#783](https://github.com/aksonov/react-native-router-flux/issues/783)\n- Actions error and navigationState.children conflicts with another child! [\\#782](https://github.com/aksonov/react-native-router-flux/issues/782)\n- Passing parameters via Action does not work [\\#778](https://github.com/aksonov/react-native-router-flux/issues/778)\n- \\[Question\\] Best way to Synch state across scenes using Default Reducer. [\\#777](https://github.com/aksonov/react-native-router-flux/issues/777)\n- Actions.callback is not defined [\\#775](https://github.com/aksonov/react-native-router-flux/issues/775)\n- Example is not working [\\#772](https://github.com/aksonov/react-native-router-flux/issues/772)\n- Key \\<keyname\\> is already defined! [\\#768](https://github.com/aksonov/react-native-router-flux/issues/768)\n- Jump action is no longer called when Switch route changes. [\\#766](https://github.com/aksonov/react-native-router-flux/issues/766)\n- Error: RCTUIManager.dispatchViewManagerCommand must not be null [\\#762](https://github.com/aksonov/react-native-router-flux/issues/762)\n- Switch is not rendering the right scene correctly [\\#760](https://github.com/aksonov/react-native-router-flux/issues/760)\n- routing using keys in props  [\\#757](https://github.com/aksonov/react-native-router-flux/issues/757)\n- How could I make custom navBar fixed on the top ? [\\#755](https://github.com/aksonov/react-native-router-flux/issues/755)\n- How to replace drawer icon and back icon [\\#754](https://github.com/aksonov/react-native-router-flux/issues/754)\n- Dispatch redux action before Switch's selector picks a scene? [\\#753](https://github.com/aksonov/react-native-router-flux/issues/753)\n- custom navBar being rendered twice and to the bottom of the scene [\\#752](https://github.com/aksonov/react-native-router-flux/issues/752)\n- Assistance with custom navbar [\\#751](https://github.com/aksonov/react-native-router-flux/issues/751)\n- nested routes with same scene [\\#750](https://github.com/aksonov/react-native-router-flux/issues/750)\n- Navbar buttons need to access scene component methods [\\#747](https://github.com/aksonov/react-native-router-flux/issues/747)\n- hideNavBar does not work on scene  [\\#746](https://github.com/aksonov/react-native-router-flux/issues/746)\n- unable to use type=\"push\" [\\#741](https://github.com/aksonov/react-native-router-flux/issues/741)\n- After upgrade version to 3.22, renderRightButton is not correctly displayed. [\\#738](https://github.com/aksonov/react-native-router-flux/issues/738)\n- Re-implement hidden tabs from tabbar behavior [\\#736](https://github.com/aksonov/react-native-router-flux/issues/736)\n- navigationState and onNavigate property should be not null [\\#735](https://github.com/aksonov/react-native-router-flux/issues/735)\n-  expected a string \\(for built-in components\\) or a class/function \\(for composite components\\) but got: undefined. Check the render method of `TabNavigator`. [\\#725](https://github.com/aksonov/react-native-router-flux/issues/725)\n- How to intercept loading scene to check authentication first ?  [\\#719](https://github.com/aksonov/react-native-router-flux/issues/719)\n- on a Scene, componentDidMount only gets called once and componentWillReceiveProps never gets called [\\#718](https://github.com/aksonov/react-native-router-flux/issues/718)\n-  Remove default style [\\#716](https://github.com/aksonov/react-native-router-flux/issues/716)\n- RNRF v3.26.1 / RN 0.26.1 Error: \"navigationState and onNavigate property should be not null\" [\\#715](https://github.com/aksonov/react-native-router-flux/issues/715)\n- Show the navbar from within Scene programmatically [\\#714](https://github.com/aksonov/react-native-router-flux/issues/714)\n- Drawer icon size is much bigger than it should be [\\#713](https://github.com/aksonov/react-native-router-flux/issues/713)\n- Duplicate navbar when using drawer and nested scenes [\\#711](https://github.com/aksonov/react-native-router-flux/issues/711)\n- \\[Update to RN 0.26\\] Warning: Failed propType: SceneView: prop type `sceneRendererProps` is invalid [\\#708](https://github.com/aksonov/react-native-router-flux/issues/708)\n- Implementing Actions.xxx in function [\\#707](https://github.com/aksonov/react-native-router-flux/issues/707)\n- Warning due to a upgrade react-native to 0.26 \\[using key props\\] [\\#705](https://github.com/aksonov/react-native-router-flux/issues/705)\n- Unable to resolve module buffer [\\#697](https://github.com/aksonov/react-native-router-flux/issues/697)\n- 404 looking for image icons [\\#671](https://github.com/aksonov/react-native-router-flux/issues/671)\n- 0.25 Support [\\#636](https://github.com/aksonov/react-native-router-flux/issues/636)\n- sub-scene example is invalid [\\#615](https://github.com/aksonov/react-native-router-flux/issues/615)\n- Key is already defined! [\\#607](https://github.com/aksonov/react-native-router-flux/issues/607)\n- Discussion: RN NavigationExperimental API bugs/breaking changes, future direction of the project [\\#557](https://github.com/aksonov/react-native-router-flux/issues/557)\n- Please STOP creating new and new issues regarding 0.23 version, component requires 0.22 now [\\#525](https://github.com/aksonov/react-native-router-flux/issues/525)\n- Redux integration [\\#517](https://github.com/aksonov/react-native-router-flux/issues/517)\n\n**Merged pull requests:**\n\n- UPDATE Docs with titleOpacity property [\\#811](https://github.com/aksonov/react-native-router-flux/pull/811) ([sarovin](https://github.com/sarovin))\n- ADD Opacity Property for the Title of NavBar [\\#808](https://github.com/aksonov/react-native-router-flux/pull/808) ([sarovin](https://github.com/sarovin))\n- Feature\\(multiple pop\\): now we can pop multipe scenes with Actions.pop [\\#806](https://github.com/aksonov/react-native-router-flux/pull/806) ([Swordsman-Inaction](https://github.com/Swordsman-Inaction))\n- Update README.md [\\#805](https://github.com/aksonov/react-native-router-flux/pull/805) ([vonovak](https://github.com/vonovak))\n- add a more custom drawer menu icon to open side navigation [\\#802](https://github.com/aksonov/react-native-router-flux/pull/802) ([alextkd](https://github.com/alextkd))\n- \\[tabs\\]: add custom selected item tab style [\\#801](https://github.com/aksonov/react-native-router-flux/pull/801) ([alextkd](https://github.com/alextkd))\n- \\[Feature/Action\\] Enable the popping of multiple scenes [\\#798](https://github.com/aksonov/react-native-router-flux/pull/798) ([rseemann](https://github.com/rseemann))\n- \\[actions\\]: add support when dealing Scenes defined using array map [\\#793](https://github.com/aksonov/react-native-router-flux/pull/793) ([alextkd](https://github.com/alextkd))\n- 790: Avoid rightButtonImage or rightTitle warnings when set to null [\\#791](https://github.com/aksonov/react-native-router-flux/pull/791) ([vpasquier](https://github.com/vpasquier))\n- Update main README.md - Include RN 27 Compatibility notes [\\#788](https://github.com/aksonov/react-native-router-flux/pull/788) ([rturk](https://github.com/rturk))\n- remove unneeded dependency [\\#779](https://github.com/aksonov/react-native-router-flux/pull/779) ([vonovak](https://github.com/vonovak))\n- add typings [\\#774](https://github.com/aksonov/react-native-router-flux/pull/774) ([bang88](https://github.com/bang88))\n- Fix incorrect vertical animation [\\#767](https://github.com/aksonov/react-native-router-flux/pull/767) ([colinyoung](https://github.com/colinyoung))\n- Update README.md [\\#761](https://github.com/aksonov/react-native-router-flux/pull/761) ([wootwoot1234](https://github.com/wootwoot1234))\n- fix Example/package, to install React 15.0.2, instead of a new version [\\#748](https://github.com/aksonov/react-native-router-flux/pull/748) ([sibelius](https://github.com/sibelius))\n- WIP old tab bar [\\#743](https://github.com/aksonov/react-native-router-flux/pull/743) ([joenoon](https://github.com/joenoon))\n- Update README.md - Include RN Compatibility table [\\#742](https://github.com/aksonov/react-native-router-flux/pull/742) ([rturk](https://github.com/rturk))\n- Remove Example folder from eslint [\\#740](https://github.com/aksonov/react-native-router-flux/pull/740) ([charpeni](https://github.com/charpeni))\n- Add prop to override the tabBar shadow style [\\#739](https://github.com/aksonov/react-native-router-flux/pull/739) ([laurentnguyen42](https://github.com/laurentnguyen42))\n- Fix Typo in Switch referring to this.props [\\#737](https://github.com/aksonov/react-native-router-flux/pull/737) ([SirensOfTitan](https://github.com/SirensOfTitan))\n- Bug with sidemenu as is in RN 0.26 [\\#734](https://github.com/aksonov/react-native-router-flux/pull/734) ([jeroenbourgois](https://github.com/jeroenbourgois))\n- Update test dependencies [\\#730](https://github.com/aksonov/react-native-router-flux/pull/730) ([charpeni](https://github.com/charpeni))\n- UPDATE README: Add `Epic Fail Videos` as a production app using the plugin [\\#712](https://github.com/aksonov/react-native-router-flux/pull/712) ([donnguyen](https://github.com/donnguyen))\n- Fixed style proptypes in NavBar.js [\\#706](https://github.com/aksonov/react-native-router-flux/pull/706) ([cornedor](https://github.com/cornedor))\n\n## [3.26.0](https://github.com/aksonov/react-native-router-flux/tree/3.26.0) (2016-05-20)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/3.22.0...3.26.0)\n\n**Closed issues:**\n\n- Error with menu\\_burger.png [\\#703](https://github.com/aksonov/react-native-router-flux/issues/703)\n- \"replace\" and \"reset\" not working? [\\#695](https://github.com/aksonov/react-native-router-flux/issues/695)\n- Unable to run tests with Mocha  [\\#694](https://github.com/aksonov/react-native-router-flux/issues/694)\n- Issue Causing ReactNative.createElement [\\#693](https://github.com/aksonov/react-native-router-flux/issues/693)\n- RCTRootView.h' file not found [\\#691](https://github.com/aksonov/react-native-router-flux/issues/691)\n- Use tabbar,Click the tab item,the page will render again. [\\#690](https://github.com/aksonov/react-native-router-flux/issues/690)\n- Actions aren't fired within react-native-side-menu based components [\\#676](https://github.com/aksonov/react-native-router-flux/issues/676)\n- Image Flickering when navigating to another View [\\#675](https://github.com/aksonov/react-native-router-flux/issues/675)\n- scenes Actions.create is broken ?  [\\#674](https://github.com/aksonov/react-native-router-flux/issues/674)\n- Process 'command 'node'' finished with non-zero exit value 1 [\\#666](https://github.com/aksonov/react-native-router-flux/issues/666)\n- current master branch navigationState conflict on RN 0.24.1 [\\#664](https://github.com/aksonov/react-native-router-flux/issues/664)\n- From within a scene, put an icon in the navbar [\\#663](https://github.com/aksonov/react-native-router-flux/issues/663)\n- Why does it create new instances of component every tab switch? [\\#660](https://github.com/aksonov/react-native-router-flux/issues/660)\n- Setting Action.x\\({type: 'replace'}\\) does nothing [\\#659](https://github.com/aksonov/react-native-router-flux/issues/659)\n- Remove shadow on DefaultRenderer [\\#658](https://github.com/aksonov/react-native-router-flux/issues/658)\n- Memory leak and there are alot of setState warning when rotate screen after calling screen transition [\\#657](https://github.com/aksonov/react-native-router-flux/issues/657)\n- Change props of previous view [\\#656](https://github.com/aksonov/react-native-router-flux/issues/656)\n- NavBar Title not updated when navigate to a different scene [\\#652](https://github.com/aksonov/react-native-router-flux/issues/652)\n- Ability to provide the left/right navbar buttons from the rendered component [\\#647](https://github.com/aksonov/react-native-router-flux/issues/647)\n- The best way to change Title in the tabbar. [\\#646](https://github.com/aksonov/react-native-router-flux/issues/646)\n- how to jump into a child page? [\\#645](https://github.com/aksonov/react-native-router-flux/issues/645)\n- Example Application error [\\#640](https://github.com/aksonov/react-native-router-flux/issues/640)\n- Requiring React API in React Native version \\>= 25.1 is being deprecated. [\\#638](https://github.com/aksonov/react-native-router-flux/issues/638)\n- Action.reset\\(\\) [\\#633](https://github.com/aksonov/react-native-router-flux/issues/633)\n- How to update Tabbar ? [\\#630](https://github.com/aksonov/react-native-router-flux/issues/630)\n- Direction attribute no longer working [\\#629](https://github.com/aksonov/react-native-router-flux/issues/629)\n- tests failing due to non transpiled code in node\\_modules [\\#628](https://github.com/aksonov/react-native-router-flux/issues/628)\n- Having component on root Scene stops transition animations on underlying transitions [\\#627](https://github.com/aksonov/react-native-router-flux/issues/627)\n- Possibility to turn of gestures [\\#619](https://github.com/aksonov/react-native-router-flux/issues/619)\n- Huge memory leak when layout changes [\\#616](https://github.com/aksonov/react-native-router-flux/issues/616)\n- Version 3.22.23 on npm in broken [\\#613](https://github.com/aksonov/react-native-router-flux/issues/613)\n- Expected corresponding JSX closing tag for \\<RouterWithRedux\\> [\\#611](https://github.com/aksonov/react-native-router-flux/issues/611)\n- Force component to render before switching to it. [\\#599](https://github.com/aksonov/react-native-router-flux/issues/599)\n- Per state view - Sample [\\#593](https://github.com/aksonov/react-native-router-flux/issues/593)\n- multiple import for one files to scene, not working! [\\#592](https://github.com/aksonov/react-native-router-flux/issues/592)\n- Please help figure out how create new \"secured\" stack of scenes inside root scene. Is it possible? [\\#591](https://github.com/aksonov/react-native-router-flux/issues/591)\n- hideNavBar is not working on the last version [\\#590](https://github.com/aksonov/react-native-router-flux/issues/590)\n- Can not route back to a scene which type is 'reset' or 'replace' [\\#588](https://github.com/aksonov/react-native-router-flux/issues/588)\n- undefined is not an object \\(evaluating 'child.type.prototype'\\) [\\#587](https://github.com/aksonov/react-native-router-flux/issues/587)\n- NavBar's height should not be 64pt in Android [\\#586](https://github.com/aksonov/react-native-router-flux/issues/586)\n- \"direction\" no long works [\\#584](https://github.com/aksonov/react-native-router-flux/issues/584)\n- Android hardware back button, and styling [\\#581](https://github.com/aksonov/react-native-router-flux/issues/581)\n- Tab Bar [\\#580](https://github.com/aksonov/react-native-router-flux/issues/580)\n- Cannot find scene with key=xxxx and Switch [\\#579](https://github.com/aksonov/react-native-router-flux/issues/579)\n- Toggle burger button for V3 [\\#578](https://github.com/aksonov/react-native-router-flux/issues/578)\n- Inactive tabs are not unmounted [\\#577](https://github.com/aksonov/react-native-router-flux/issues/577)\n- Customize \\<Tab\\> [\\#576](https://github.com/aksonov/react-native-router-flux/issues/576)\n- Navbar Icon to trigger method on scene? [\\#575](https://github.com/aksonov/react-native-router-flux/issues/575)\n- Replace Scenes with custom components not working. [\\#573](https://github.com/aksonov/react-native-router-flux/issues/573)\n- Implied Routes [\\#571](https://github.com/aksonov/react-native-router-flux/issues/571)\n- Component property is not set for key=Main [\\#569](https://github.com/aksonov/react-native-router-flux/issues/569)\n- Version for Redux integration ?? [\\#568](https://github.com/aksonov/react-native-router-flux/issues/568)\n- Code style linter and CI [\\#567](https://github.com/aksonov/react-native-router-flux/issues/567)\n- While using Actions.pop\\(\\), which stack we are dealing with? How can I get that stack? [\\#565](https://github.com/aksonov/react-native-router-flux/issues/565)\n- how the table was added in modal? [\\#562](https://github.com/aksonov/react-native-router-flux/issues/562)\n- How to get the navigation bar Dimensions from within a Schene? [\\#561](https://github.com/aksonov/react-native-router-flux/issues/561)\n- \"Cannot find scene with key = drawer\" error with Switch [\\#560](https://github.com/aksonov/react-native-router-flux/issues/560)\n- Suggest new feature for this plugin. Can add the protype 'onPress'  to scene [\\#556](https://github.com/aksonov/react-native-router-flux/issues/556)\n- Problem with redux state and Switch after upgrading RN to v0.24 [\\#555](https://github.com/aksonov/react-native-router-flux/issues/555)\n- Disable horizontal swipe to go back [\\#554](https://github.com/aksonov/react-native-router-flux/issues/554)\n- undefined is not an object NavigationCardStackStyleInterpolator.forHorizontal [\\#552](https://github.com/aksonov/react-native-router-flux/issues/552)\n- Actions.xxx\\({type: 'reset'}\\) not work [\\#551](https://github.com/aksonov/react-native-router-flux/issues/551)\n- Changing tab re-mounts the tab item Scene component [\\#549](https://github.com/aksonov/react-native-router-flux/issues/549)\n- Actions.xxx no response [\\#548](https://github.com/aksonov/react-native-router-flux/issues/548)\n- Back button Style [\\#546](https://github.com/aksonov/react-native-router-flux/issues/546)\n- How to get navigator object inside component? [\\#544](https://github.com/aksonov/react-native-router-flux/issues/544)\n- Is there a way to hide navbar when orientation changes? [\\#541](https://github.com/aksonov/react-native-router-flux/issues/541)\n- Unable to use openDrawer\\(\\) in component js file [\\#540](https://github.com/aksonov/react-native-router-flux/issues/540)\n- Adding Promise compatibility to selector function for Switch component  [\\#532](https://github.com/aksonov/react-native-router-flux/issues/532)\n- How do I get the current screen? [\\#528](https://github.com/aksonov/react-native-router-flux/issues/528)\n- Correct Way to Implement Drawer [\\#524](https://github.com/aksonov/react-native-router-flux/issues/524)\n- Adding custom animations [\\#523](https://github.com/aksonov/react-native-router-flux/issues/523)\n- Crash when Back button is tapped during animation [\\#520](https://github.com/aksonov/react-native-router-flux/issues/520)\n- Click back button ON DEFAULT SCENE [\\#511](https://github.com/aksonov/react-native-router-flux/issues/511)\n- tracking React Native 0.24 compatibility/issues [\\#489](https://github.com/aksonov/react-native-router-flux/issues/489)\n- No animations after upgrade react-native to 0.23 [\\#481](https://github.com/aksonov/react-native-router-flux/issues/481)\n- Seeking Guidance on Notification Icon Implementation [\\#478](https://github.com/aksonov/react-native-router-flux/issues/478)\n- Tab click returns to initial scene [\\#477](https://github.com/aksonov/react-native-router-flux/issues/477)\n- Navbar appears at bottom in RNv0.23 [\\#476](https://github.com/aksonov/react-native-router-flux/issues/476)\n- Type 'replace' not replacing view [\\#474](https://github.com/aksonov/react-native-router-flux/issues/474)\n- getState warning causes app to not render properly when opening the App [\\#472](https://github.com/aksonov/react-native-router-flux/issues/472)\n- Custom/Dynamic screen title in NavBar [\\#468](https://github.com/aksonov/react-native-router-flux/issues/468)\n- Injected props are not passed to renderNavigationBar [\\#466](https://github.com/aksonov/react-native-router-flux/issues/466)\n- Force re-render scene after pop [\\#465](https://github.com/aksonov/react-native-router-flux/issues/465)\n- How to change back button ? Any examples ? [\\#460](https://github.com/aksonov/react-native-router-flux/issues/460)\n- use pop action in initial scene will show error [\\#455](https://github.com/aksonov/react-native-router-flux/issues/455)\n- How to move scene in from left? [\\#453](https://github.com/aksonov/react-native-router-flux/issues/453)\n- sceneStyle ignored. [\\#452](https://github.com/aksonov/react-native-router-flux/issues/452)\n- renderBackButton does not take you back to previous route. [\\#446](https://github.com/aksonov/react-native-router-flux/issues/446)\n- Cannot find element for parent=SCENE\\_NAME within current state [\\#370](https://github.com/aksonov/react-native-router-flux/issues/370)\n- Forbid swiping back [\\#359](https://github.com/aksonov/react-native-router-flux/issues/359)\n\n**Merged pull requests:**\n\n- 0.26 stable [\\#701](https://github.com/aksonov/react-native-router-flux/pull/701) ([joenoon](https://github.com/joenoon))\n- remove dependency on assert [\\#698](https://github.com/aksonov/react-native-router-flux/pull/698) ([joenoon](https://github.com/joenoon))\n- replaced root readme [\\#678](https://github.com/aksonov/react-native-router-flux/pull/678) ([adrianmcli](https://github.com/adrianmcli))\n- New Documentation Structure [\\#673](https://github.com/aksonov/react-native-router-flux/pull/673) ([adrianmcli](https://github.com/adrianmcli))\n- was literal 'position' a typo? [\\#667](https://github.com/aksonov/react-native-router-flux/pull/667) ([joenoon](https://github.com/joenoon))\n- Fix eslint src/Navbar.js [\\#655](https://github.com/aksonov/react-native-router-flux/pull/655) ([charpeni](https://github.com/charpeni))\n- Fix circle.yml [\\#654](https://github.com/aksonov/react-native-router-flux/pull/654) ([charpeni](https://github.com/charpeni))\n- Send all props through to renderNavigationBar and renderTitle through props [\\#653](https://github.com/aksonov/react-native-router-flux/pull/653) ([mat2maa](https://github.com/mat2maa))\n- Fix eslint issues and add circle.yml [\\#650](https://github.com/aksonov/react-native-router-flux/pull/650) ([charpeni](https://github.com/charpeni))\n- Fix eslint Example/components/NavigationDrawer.js [\\#648](https://github.com/aksonov/react-native-router-flux/pull/648) ([charpeni](https://github.com/charpeni))\n- Fix eslint Example/components/Register.js [\\#644](https://github.com/aksonov/react-native-router-flux/pull/644) ([charpeni](https://github.com/charpeni))\n- Fix eslint Example/components/TabIcon.js [\\#643](https://github.com/aksonov/react-native-router-flux/pull/643) ([charpeni](https://github.com/charpeni))\n- Fix Eslint Example/components/TabView.js [\\#642](https://github.com/aksonov/react-native-router-flux/pull/642) ([charpeni](https://github.com/charpeni))\n- Fix AppRegistry and TabView render of Example [\\#641](https://github.com/aksonov/react-native-router-flux/pull/641) ([charpeni](https://github.com/charpeni))\n- Nicer readme [\\#639](https://github.com/aksonov/react-native-router-flux/pull/639) ([r0b1n](https://github.com/r0b1n))\n- FIX Deprecation in RN 0.25 [\\#637](https://github.com/aksonov/react-native-router-flux/pull/637) ([sarovin](https://github.com/sarovin))\n- Fix ESLint NavBar.js [\\#625](https://github.com/aksonov/react-native-router-flux/pull/625) ([sarovin](https://github.com/sarovin))\n- Fix NavBar height for Android [\\#624](https://github.com/aksonov/react-native-router-flux/pull/624) ([sarovin](https://github.com/sarovin))\n- Revert \"fix word\" [\\#622](https://github.com/aksonov/react-native-router-flux/pull/622) ([charpeni](https://github.com/charpeni))\n- fix word [\\#621](https://github.com/aksonov/react-native-router-flux/pull/621) ([cuitianze](https://github.com/cuitianze))\n- fix word [\\#620](https://github.com/aksonov/react-native-router-flux/pull/620) ([cuitianze](https://github.com/cuitianze))\n- Fix Reset and Replace [\\#618](https://github.com/aksonov/react-native-router-flux/pull/618) ([Zidail](https://github.com/Zidail))\n- Nicer readme. [\\#610](https://github.com/aksonov/react-native-router-flux/pull/610) ([r0b1n](https://github.com/r0b1n))\n- Fix eslint errors in State.js [\\#609](https://github.com/aksonov/react-native-router-flux/pull/609) ([charpeni](https://github.com/charpeni))\n- Fix for navigation Actions not returning true or false. [\\#608](https://github.com/aksonov/react-native-router-flux/pull/608) ([bburnham](https://github.com/bburnham))\n- Fix index.js [\\#606](https://github.com/aksonov/react-native-router-flux/pull/606) ([charpeni](https://github.com/charpeni))\n- Fix eslint errors in DefaultRenderer.js [\\#605](https://github.com/aksonov/react-native-router-flux/pull/605) ([mikefowler](https://github.com/mikefowler))\n- Cleanup Modal.js [\\#604](https://github.com/aksonov/react-native-router-flux/pull/604) ([mikefowler](https://github.com/mikefowler))\n- FIX ESlint TabBar.js [\\#603](https://github.com/aksonov/react-native-router-flux/pull/603) ([sarovin](https://github.com/sarovin))\n- Cleanup Router.js [\\#602](https://github.com/aksonov/react-native-router-flux/pull/602) ([mikefowler](https://github.com/mikefowler))\n- Fix eslint errors in Switch.js [\\#601](https://github.com/aksonov/react-native-router-flux/pull/601) ([mikefowler](https://github.com/mikefowler))\n- Fix NavBar height for Android [\\#598](https://github.com/aksonov/react-native-router-flux/pull/598) ([Kerumen](https://github.com/Kerumen))\n- Added tests for Reducer, small fixes and comments. [\\#597](https://github.com/aksonov/react-native-router-flux/pull/597) ([r0b1n](https://github.com/r0b1n))\n- app bar height [\\#596](https://github.com/aksonov/react-native-router-flux/pull/596) ([jeroenbourgois](https://github.com/jeroenbourgois))\n- Actions code styles and tests fixed. [\\#595](https://github.com/aksonov/react-native-router-flux/pull/595) ([r0b1n](https://github.com/r0b1n))\n- ADD .editorconfig [\\#594](https://github.com/aksonov/react-native-router-flux/pull/594) ([sarovin](https://github.com/sarovin))\n- Revert \"Fix some eslint errors\" [\\#589](https://github.com/aksonov/react-native-router-flux/pull/589) ([aksonov](https://github.com/aksonov))\n- Fix some eslint errors [\\#585](https://github.com/aksonov/react-native-router-flux/pull/585) ([charpeni](https://github.com/charpeni))\n- Adding an option to compute title for each screen [\\#583](https://github.com/aksonov/react-native-router-flux/pull/583) ([jondot](https://github.com/jondot))\n- Add eslint with eslint-config-airbnb [\\#574](https://github.com/aksonov/react-native-router-flux/pull/574) ([charpeni](https://github.com/charpeni))\n- hideNavBar hide scene only for current scene \\(3.24\\) [\\#572](https://github.com/aksonov/react-native-router-flux/pull/572) ([philipshurpik](https://github.com/philipshurpik))\n- Add Section for Companies/Production apps using react-native-router-flux [\\#559](https://github.com/aksonov/react-native-router-flux/pull/559) ([JamesWatling](https://github.com/JamesWatling))\n- fixes \\#552 [\\#553](https://github.com/aksonov/react-native-router-flux/pull/553) ([lynndylanhurley](https://github.com/lynndylanhurley))\n- add render title callback [\\#547](https://github.com/aksonov/react-native-router-flux/pull/547) ([timzaak](https://github.com/timzaak))\n- renderRightButton and renderLeftButton takes selected component as argument [\\#545](https://github.com/aksonov/react-native-router-flux/pull/545) ([jondot](https://github.com/jondot))\n- improve redux setup README [\\#543](https://github.com/aksonov/react-native-router-flux/pull/543) ([lynndylanhurley](https://github.com/lynndylanhurley))\n- Update redux instructions in README [\\#542](https://github.com/aksonov/react-native-router-flux/pull/542) ([lynndylanhurley](https://github.com/lynndylanhurley))\n- Revert \"Revert \"\\[WIP\\] Get Example app working with React 0.24+ \"\" [\\#539](https://github.com/aksonov/react-native-router-flux/pull/539) ([aksonov](https://github.com/aksonov))\n- Improve README [\\#535](https://github.com/aksonov/react-native-router-flux/pull/535) ([Kerumen](https://github.com/Kerumen))\n\n## [3.22.0](https://github.com/aksonov/react-native-router-flux/tree/3.22.0) (2016-04-18)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/3.2.3...3.22.0)\n\n**Implemented enhancements:**\n\n- New 3.0 version is released with breaking API changes, check README.md [\\#324](https://github.com/aksonov/react-native-router-flux/issues/324)\n\n**Fixed bugs:**\n\n- navigationState props breaks pure shouldComponentUpdate [\\#392](https://github.com/aksonov/react-native-router-flux/issues/392)\n\n**Closed issues:**\n\n- How to refresh after Actions.pop\\(\\)? [\\#529](https://github.com/aksonov/react-native-router-flux/issues/529)\n- Tabbar loads all scenes at mount, is lazy load possible? [\\#521](https://github.com/aksonov/react-native-router-flux/issues/521)\n- Push Navigation animation doesn't work in 3.2.10, 3.2.12 [\\#519](https://github.com/aksonov/react-native-router-flux/issues/519)\n- Multiple routers in an application [\\#513](https://github.com/aksonov/react-native-router-flux/issues/513)\n- How to reset history ? [\\#512](https://github.com/aksonov/react-native-router-flux/issues/512)\n- Switch from one scene in a tabbar to another scene in a other tabbar [\\#510](https://github.com/aksonov/react-native-router-flux/issues/510)\n- Actions.refresh\\({key: SCENE\\_KEY, props}\\) throws assertion error [\\#506](https://github.com/aksonov/react-native-router-flux/issues/506)\n- What is the right way for navigate in the signin view? [\\#502](https://github.com/aksonov/react-native-router-flux/issues/502)\n- How to show a Modal with just a Progress ? [\\#501](https://github.com/aksonov/react-native-router-flux/issues/501)\n- Android Requiring unknown module \"assert\" [\\#500](https://github.com/aksonov/react-native-router-flux/issues/500)\n- direction=\"vertical\" not working [\\#499](https://github.com/aksonov/react-native-router-flux/issues/499)\n- setState warning when calling a new route with type reset from componentDidMount [\\#498](https://github.com/aksonov/react-native-router-flux/issues/498)\n- tabbar doesn't work in react-native 0.24.0-rc3 [\\#495](https://github.com/aksonov/react-native-router-flux/issues/495)\n- Back button Warning [\\#494](https://github.com/aksonov/react-native-router-flux/issues/494)\n- Cannot interact with NavigationCard rendered scenes [\\#493](https://github.com/aksonov/react-native-router-flux/issues/493)\n- Passing state to Scene  through props [\\#492](https://github.com/aksonov/react-native-router-flux/issues/492)\n- Actions.login\\(\\) doesn't work if login Scene has type='replace' [\\#491](https://github.com/aksonov/react-native-router-flux/issues/491)\n- Does not route to scenes with \"type\" [\\#488](https://github.com/aksonov/react-native-router-flux/issues/488)\n- NavBar on Top of Tabs [\\#487](https://github.com/aksonov/react-native-router-flux/issues/487)\n- otherProps in Scene does not update at all [\\#485](https://github.com/aksonov/react-native-router-flux/issues/485)\n- Discuss - Replace Actions.destination\\({..data}\\); with Actions.go\\('destination',{...data}\\); [\\#484](https://github.com/aksonov/react-native-router-flux/issues/484)\n- Dependency Issue: \"Unmet peer dependency react-native@0.23.1\" [\\#483](https://github.com/aksonov/react-native-router-flux/issues/483)\n- Error route.children.forEach is not a function in getInitialState\\(\\) [\\#482](https://github.com/aksonov/react-native-router-flux/issues/482)\n- Menu icon only works if navigation drawer component is the root element [\\#480](https://github.com/aksonov/react-native-router-flux/issues/480)\n- android 4.4.4  navbar height  is higher system nav bar height [\\#475](https://github.com/aksonov/react-native-router-flux/issues/475)\n- Implementing tabs in subcomponent [\\#473](https://github.com/aksonov/react-native-router-flux/issues/473)\n- Unsure what I am doing wrong, the component is throwing a undefined error on Android [\\#471](https://github.com/aksonov/react-native-router-flux/issues/471)\n- How to use type='reset'? [\\#467](https://github.com/aksonov/react-native-router-flux/issues/467)\n- Add nav buttons \\(and handlers\\) from inside component [\\#463](https://github.com/aksonov/react-native-router-flux/issues/463)\n- Nested schenes no longer working? [\\#462](https://github.com/aksonov/react-native-router-flux/issues/462)\n- How to use components' this.state and functions while customising the Navigation Bar? [\\#459](https://github.com/aksonov/react-native-router-flux/issues/459)\n- Switch demo [\\#458](https://github.com/aksonov/react-native-router-flux/issues/458)\n- Global Data [\\#457](https://github.com/aksonov/react-native-router-flux/issues/457)\n- NavBar takes up space in nested routers [\\#456](https://github.com/aksonov/react-native-router-flux/issues/456)\n- Keyboard pushes Navigation Bar off the screen [\\#454](https://github.com/aksonov/react-native-router-flux/issues/454)\n- component property not set when using Router in Clojurescript through Reagent [\\#451](https://github.com/aksonov/react-native-router-flux/issues/451)\n- renderRightButton and renderLeftButton are not working [\\#449](https://github.com/aksonov/react-native-router-flux/issues/449)\n- RCTView has a shadow set but cannot calculate shadow efficiently [\\#448](https://github.com/aksonov/react-native-router-flux/issues/448)\n- NavBar covers part of the View [\\#447](https://github.com/aksonov/react-native-router-flux/issues/447)\n- Change Statusbar Color? [\\#445](https://github.com/aksonov/react-native-router-flux/issues/445)\n- NavigationBar has white borderBottom [\\#444](https://github.com/aksonov/react-native-router-flux/issues/444)\n- Android transitions crash [\\#443](https://github.com/aksonov/react-native-router-flux/issues/443)\n- Performance in android [\\#441](https://github.com/aksonov/react-native-router-flux/issues/441)\n- Question: Passing parameters with the navBar onRight [\\#440](https://github.com/aksonov/react-native-router-flux/issues/440)\n- Is there a way to force truncating the text in the nav bar?  [\\#438](https://github.com/aksonov/react-native-router-flux/issues/438)\n- Is Relay supported? [\\#437](https://github.com/aksonov/react-native-router-flux/issues/437)\n- Inner routes in Tabs broken since 3.2.2 [\\#431](https://github.com/aksonov/react-native-router-flux/issues/431)\n- Weird slide animation [\\#430](https://github.com/aksonov/react-native-router-flux/issues/430)\n- Actions.pop\\(\\) broken in v3.2.4  [\\#428](https://github.com/aksonov/react-native-router-flux/issues/428)\n- I think there are Example Errors [\\#425](https://github.com/aksonov/react-native-router-flux/issues/425)\n- How to forbid swipe back gesture in 3.x? [\\#422](https://github.com/aksonov/react-native-router-flux/issues/422)\n- Example project tabbar title and rightButton now showing up [\\#421](https://github.com/aksonov/react-native-router-flux/issues/421)\n- NavBar Title [\\#417](https://github.com/aksonov/react-native-router-flux/issues/417)\n- Unable to resolve module AssetRegistry [\\#416](https://github.com/aksonov/react-native-router-flux/issues/416)\n- Programmatically unmount previous components? [\\#415](https://github.com/aksonov/react-native-router-flux/issues/415)\n- Help with nested routing [\\#412](https://github.com/aksonov/react-native-router-flux/issues/412)\n- All TabBar views mounted on initial render [\\#409](https://github.com/aksonov/react-native-router-flux/issues/409)\n- Upgrading to V3.1.3 has broken replace type [\\#408](https://github.com/aksonov/react-native-router-flux/issues/408)\n- Add \"tabBarStyle\" to documentation [\\#397](https://github.com/aksonov/react-native-router-flux/issues/397)\n- Inner routes are not working if required as component  [\\#180](https://github.com/aksonov/react-native-router-flux/issues/180)\n\n**Merged pull requests:**\n\n- Revert \"\\[WIP\\] Get Example app working with React 0.24+ \" [\\#538](https://github.com/aksonov/react-native-router-flux/pull/538) ([aksonov](https://github.com/aksonov))\n- Implement FOCUS\\_ACTION using createReducer approach [\\#537](https://github.com/aksonov/react-native-router-flux/pull/537) ([lynndylanhurley](https://github.com/lynndylanhurley))\n- \\[WIP\\] Get Example app working with React 0.24+  [\\#536](https://github.com/aksonov/react-native-router-flux/pull/536) ([cridenour](https://github.com/cridenour))\n- Set the example to use the supported version of React Native [\\#534](https://github.com/aksonov/react-native-router-flux/pull/534) ([jamespearson](https://github.com/jamespearson))\n- add more details about tabbar [\\#533](https://github.com/aksonov/react-native-router-flux/pull/533) ([timzaak](https://github.com/timzaak))\n- Fix animation bug [\\#526](https://github.com/aksonov/react-native-router-flux/pull/526) ([angeloashmore](https://github.com/angeloashmore))\n- Remove unused import [\\#522](https://github.com/aksonov/react-native-router-flux/pull/522) ([sylvainbaronnet](https://github.com/sylvainbaronnet))\n- Bug fix: childContextTypes not defined when DefaultRenderer is exported [\\#518](https://github.com/aksonov/react-native-router-flux/pull/518) ([Olliepop](https://github.com/Olliepop))\n- Allow getInitialState to be passed into Router as well as Scene [\\#516](https://github.com/aksonov/react-native-router-flux/pull/516) ([lelandrichardson](https://github.com/lelandrichardson))\n- Use current navigation state's button render functions during render [\\#514](https://github.com/aksonov/react-native-router-flux/pull/514) ([Lida](https://github.com/Lida))\n- Add getInitialState API to Scene and Router [\\#509](https://github.com/aksonov/react-native-router-flux/pull/509) ([lelandrichardson](https://github.com/lelandrichardson))\n- Add getSceneStyle api to Scene and Router [\\#508](https://github.com/aksonov/react-native-router-flux/pull/508) ([lelandrichardson](https://github.com/lelandrichardson))\n- Provide navigationState to scene's context [\\#507](https://github.com/aksonov/react-native-router-flux/pull/507) ([lelandrichardson](https://github.com/lelandrichardson))\n- Add `from` prop to navigation state for better pop animations [\\#505](https://github.com/aksonov/react-native-router-flux/pull/505) ([lelandrichardson](https://github.com/lelandrichardson))\n- Fix npm test [\\#504](https://github.com/aksonov/react-native-router-flux/pull/504) ([lelandrichardson](https://github.com/lelandrichardson))\n- Upgrade example project to use RN 0.23.1 [\\#497](https://github.com/aksonov/react-native-router-flux/pull/497) ([bosung90](https://github.com/bosung90))\n- change TabBar renderScene per RN 0.24 signature change [\\#490](https://github.com/aksonov/react-native-router-flux/pull/490) ([joenoon](https://github.com/joenoon))\n- Removed transparent background to remove warning \\#448 [\\#486](https://github.com/aksonov/react-native-router-flux/pull/486) ([giacomorebonato](https://github.com/giacomorebonato))\n- Remove peerDependencies [\\#479](https://github.com/aksonov/react-native-router-flux/pull/479) ([Mokto](https://github.com/Mokto))\n- Make `sceneStyle` work without having to apply styles manually [\\#470](https://github.com/aksonov/react-native-router-flux/pull/470) ([domchristie](https://github.com/domchristie))\n- Warn if you tried to render right\\(left\\) title but not specified all params. [\\#469](https://github.com/aksonov/react-native-router-flux/pull/469) ([ugputu18](https://github.com/ugputu18))\n- Small typos [\\#464](https://github.com/aksonov/react-native-router-flux/pull/464) ([jeroenbourgois](https://github.com/jeroenbourgois))\n- fixed backbutton text width [\\#439](https://github.com/aksonov/react-native-router-flux/pull/439) ([philipshurpik](https://github.com/philipshurpik))\n- Back button title [\\#436](https://github.com/aksonov/react-native-router-flux/pull/436) ([philipshurpik](https://github.com/philipshurpik))\n- Update README.md [\\#434](https://github.com/aksonov/react-native-router-flux/pull/434) ([Mokto](https://github.com/Mokto))\n- Issues template [\\#433](https://github.com/aksonov/react-native-router-flux/pull/433) ([Mokto](https://github.com/Mokto))\n- Check properties sended in route are equal to prevent pushing new routes [\\#432](https://github.com/aksonov/react-native-router-flux/pull/432) ([Mokto](https://github.com/Mokto))\n- make refresh by key modify the child data and not scene data. [\\#429](https://github.com/aksonov/react-native-router-flux/pull/429) ([joenoon](https://github.com/joenoon))\n- Implementing 'reset' type for Scene [\\#427](https://github.com/aksonov/react-native-router-flux/pull/427) ([nitsujri](https://github.com/nitsujri))\n- Revert \"change DefaultRenderer to correspond new API\" [\\#424](https://github.com/aksonov/react-native-router-flux/pull/424) ([aksonov](https://github.com/aksonov))\n- change DefaultRenderer to correspond new API [\\#423](https://github.com/aksonov/react-native-router-flux/pull/423) ([philipshurpik](https://github.com/philipshurpik))\n- chore\\(navbar\\): Renamed variable [\\#420](https://github.com/aksonov/react-native-router-flux/pull/420) ([RWOverdijk](https://github.com/RWOverdijk))\n- fix to show correctly show navbar in tabs component [\\#418](https://github.com/aksonov/react-native-router-flux/pull/418) ([philipshurpik](https://github.com/philipshurpik))\n- added possibility to use zero duration while navigating [\\#414](https://github.com/aksonov/react-native-router-flux/pull/414) ([philipshurpik](https://github.com/philipshurpik))\n- Added tabBarStyle documentation [\\#413](https://github.com/aksonov/react-native-router-flux/pull/413) ([Froelund](https://github.com/Froelund))\n- Feature/override images [\\#411](https://github.com/aksonov/react-native-router-flux/pull/411) ([RWOverdijk](https://github.com/RWOverdijk))\n- Add closing brackets [\\#410](https://github.com/aksonov/react-native-router-flux/pull/410) ([RWOverdijk](https://github.com/RWOverdijk))\n\n## [3.2.3](https://github.com/aksonov/react-native-router-flux/tree/3.2.3) (2016-03-27)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/3.1.3...3.2.3)\n\n**Closed issues:**\n\n- getting an error from the chevron, any ideas to resolve? [\\#405](https://github.com/aksonov/react-native-router-flux/issues/405)\n- router bar crash and no show title [\\#404](https://github.com/aksonov/react-native-router-flux/issues/404)\n- Render all tabbar sub-scenes on any tab's click [\\#403](https://github.com/aksonov/react-native-router-flux/issues/403)\n- JS frame rate goes to -2.0 on Android deployed from Windows [\\#401](https://github.com/aksonov/react-native-router-flux/issues/401)\n- renderRightButton gets hidden by the nav bar on 3.2.2 [\\#398](https://github.com/aksonov/react-native-router-flux/issues/398)\n- Navigating to a Schene if you know the schenes key as a string. [\\#396](https://github.com/aksonov/react-native-router-flux/issues/396)\n- Calling Same Route with different props mounts it idefinitely [\\#395](https://github.com/aksonov/react-native-router-flux/issues/395)\n- New method `static renderNavigationBar` can`t keep front in transition animation [\\#393](https://github.com/aksonov/react-native-router-flux/issues/393)\n- Animation when nesting in a DefaultRenderer [\\#387](https://github.com/aksonov/react-native-router-flux/issues/387)\n- Persisting the state of a tab [\\#386](https://github.com/aksonov/react-native-router-flux/issues/386)\n- v3 After connecting Switch to Scene gettings infinite loops [\\#385](https://github.com/aksonov/react-native-router-flux/issues/385)\n- Double tapping on link creates a double view [\\#384](https://github.com/aksonov/react-native-router-flux/issues/384)\n- Converting circular structure to JSON warning [\\#383](https://github.com/aksonov/react-native-router-flux/issues/383)\n- Open Drawer from the navigation bar [\\#382](https://github.com/aksonov/react-native-router-flux/issues/382)\n- Transitions between scenes in tabs scenes are slow regardless of duration [\\#381](https://github.com/aksonov/react-native-router-flux/issues/381)\n- Back icon does not show title [\\#380](https://github.com/aksonov/react-native-router-flux/issues/380)\n- Key login is already defined - HMR 0.22 [\\#376](https://github.com/aksonov/react-native-router-flux/issues/376)\n- Jammed page can not respond [\\#374](https://github.com/aksonov/react-native-router-flux/issues/374)\n- Tab scenes are set to type=\"push\" even tho type=\"jump\" was initially declared [\\#373](https://github.com/aksonov/react-native-router-flux/issues/373)\n- Each tab component is rendered even when not selected [\\#372](https://github.com/aksonov/react-native-router-flux/issues/372)\n- Pass previous route details like title as props [\\#371](https://github.com/aksonov/react-native-router-flux/issues/371)\n- backButtonTitle doesn't appear [\\#368](https://github.com/aksonov/react-native-router-flux/issues/368)\n- How to config StatusBar? [\\#367](https://github.com/aksonov/react-native-router-flux/issues/367)\n- Only launch scene has  sceneStyle of props [\\#366](https://github.com/aksonov/react-native-router-flux/issues/366)\n- Access component method in \\<Scene\\> [\\#365](https://github.com/aksonov/react-native-router-flux/issues/365)\n- props not passed when switching tabs [\\#364](https://github.com/aksonov/react-native-router-flux/issues/364)\n- Issue with assert in Actions.js [\\#363](https://github.com/aksonov/react-native-router-flux/issues/363)\n- Props should be defined for stack [\\#362](https://github.com/aksonov/react-native-router-flux/issues/362)\n- this.props.sceneStyle of Example can't passed [\\#361](https://github.com/aksonov/react-native-router-flux/issues/361)\n- GetState  [\\#357](https://github.com/aksonov/react-native-router-flux/issues/357)\n- pass Router props to all Scenes [\\#356](https://github.com/aksonov/react-native-router-flux/issues/356)\n- Very poor performance during transitions on Android \\(3.0.9\\) [\\#355](https://github.com/aksonov/react-native-router-flux/issues/355)\n- renderRightButton doesn't work [\\#354](https://github.com/aksonov/react-native-router-flux/issues/354)\n- Why could only React Native 0.22-rc is supported? [\\#333](https://github.com/aksonov/react-native-router-flux/issues/333)\n- How to push routes into tab from outside the tab router [\\#209](https://github.com/aksonov/react-native-router-flux/issues/209)\n\n**Merged pull requests:**\n\n- Added DrawerExample [\\#406](https://github.com/aksonov/react-native-router-flux/pull/406) ([Froelund](https://github.com/Froelund))\n- also need to retain parent during refresh.  maybe other properties also? [\\#402](https://github.com/aksonov/react-native-router-flux/pull/402) ([joenoon](https://github.com/joenoon))\n- clone option on Scene to dynamically push to current parent [\\#400](https://github.com/aksonov/react-native-router-flux/pull/400) ([joenoon](https://github.com/joenoon))\n- use key from state.key to avoid losing the index\\_ prefix during refresh [\\#399](https://github.com/aksonov/react-native-router-flux/pull/399) ([joenoon](https://github.com/joenoon))\n- pass current state to nav button handlers as argument [\\#394](https://github.com/aksonov/react-native-router-flux/pull/394) ([philipshurpik](https://github.com/philipshurpik))\n- add back recording the new `current`. [\\#391](https://github.com/aksonov/react-native-router-flux/pull/391) ([joenoon](https://github.com/joenoon))\n- dont change anything other than the index on 'jump' [\\#390](https://github.com/aksonov/react-native-router-flux/pull/390) ([joenoon](https://github.com/joenoon))\n- Fix navigationBarStyle for nested scenes [\\#388](https://github.com/aksonov/react-native-router-flux/pull/388) ([chrissloey](https://github.com/chrissloey))\n- Update README.md [\\#379](https://github.com/aksonov/react-native-router-flux/pull/379) ([brettpappas](https://github.com/brettpappas))\n- Update README.md [\\#378](https://github.com/aksonov/react-native-router-flux/pull/378) ([jeroenbourgois](https://github.com/jeroenbourgois))\n- Update README.md [\\#377](https://github.com/aksonov/react-native-router-flux/pull/377) ([jeroenbourgois](https://github.com/jeroenbourgois))\n- Fixed README [\\#375](https://github.com/aksonov/react-native-router-flux/pull/375) ([amsdamsgram](https://github.com/amsdamsgram))\n- Update README.md [\\#369](https://github.com/aksonov/react-native-router-flux/pull/369) ([jeroenbourgois](https://github.com/jeroenbourgois))\n\n## [3.1.3](https://github.com/aksonov/react-native-router-flux/tree/3.1.3) (2016-03-21)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/3.0.9...3.1.3)\n\n**Closed issues:**\n\n- Create scenes within a scene [\\#353](https://github.com/aksonov/react-native-router-flux/issues/353)\n- Custom NavBar has no ability to pass props [\\#351](https://github.com/aksonov/react-native-router-flux/issues/351)\n- Navigating to tab's child routes [\\#350](https://github.com/aksonov/react-native-router-flux/issues/350)\n- scenes transitions' animation  about 3.0.11 is slower then 2.x [\\#349](https://github.com/aksonov/react-native-router-flux/issues/349)\n- tab don't work [\\#348](https://github.com/aksonov/react-native-router-flux/issues/348)\n- Changing transition animations in v3 [\\#347](https://github.com/aksonov/react-native-router-flux/issues/347)\n- Component will Unmount [\\#345](https://github.com/aksonov/react-native-router-flux/issues/345)\n- renderNavigationBar [\\#344](https://github.com/aksonov/react-native-router-flux/issues/344)\n- Pop listener [\\#343](https://github.com/aksonov/react-native-router-flux/issues/343)\n- Left back button not showing [\\#342](https://github.com/aksonov/react-native-router-flux/issues/342)\n- Custom back button [\\#341](https://github.com/aksonov/react-native-router-flux/issues/341)\n- How to have a transparent background? [\\#340](https://github.com/aksonov/react-native-router-flux/issues/340)\n- Unable to refresh badge count on tab icon [\\#338](https://github.com/aksonov/react-native-router-flux/issues/338)\n- Post working example of Switch? [\\#337](https://github.com/aksonov/react-native-router-flux/issues/337)\n- Back Button Styling [\\#336](https://github.com/aksonov/react-native-router-flux/issues/336)\n- componentWillMount called more than once, componentWillUnmount not called on scene change [\\#335](https://github.com/aksonov/react-native-router-flux/issues/335)\n- Actions.{destination-component} not working when located inside a method [\\#334](https://github.com/aksonov/react-native-router-flux/issues/334)\n- Navigation Bar [\\#332](https://github.com/aksonov/react-native-router-flux/issues/332)\n- this.props.data is undefine [\\#331](https://github.com/aksonov/react-native-router-flux/issues/331)\n- RCTRootView.h file not found [\\#330](https://github.com/aksonov/react-native-router-flux/issues/330)\n- Defined styles [\\#329](https://github.com/aksonov/react-native-router-flux/issues/329)\n- Action should be defined [\\#328](https://github.com/aksonov/react-native-router-flux/issues/328)\n- How to call nested scenes multiple times \\(Child keys must be unique\\) [\\#327](https://github.com/aksonov/react-native-router-flux/issues/327)\n- v3.0.7 - action should be defined [\\#325](https://github.com/aksonov/react-native-router-flux/issues/325)\n\n**Merged pull requests:**\n\n- Support deeply nested scenes setting TabBar properties [\\#360](https://github.com/aksonov/react-native-router-flux/pull/360) ([aksonov](https://github.com/aksonov))\n- Changes default transition duration to 300ms [\\#352](https://github.com/aksonov/react-native-router-flux/pull/352) ([jerzxu](https://github.com/jerzxu))\n- Fixed issue with NavBar [\\#346](https://github.com/aksonov/react-native-router-flux/pull/346) ([ylquankai](https://github.com/ylquankai))\n- Fixed issue with selected Tab [\\#339](https://github.com/aksonov/react-native-router-flux/pull/339) ([jerzxu](https://github.com/jerzxu))\n\n## [3.0.9](https://github.com/aksonov/react-native-router-flux/tree/3.0.9) (2016-03-16)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/2.3.1...3.0.9)\n\n**Implemented enhancements:**\n\n- How to implement react-native-scrollable-tab-view? [\\#257](https://github.com/aksonov/react-native-router-flux/issues/257)\n- How to use react-native-custom-navigation module in this router ? [\\#232](https://github.com/aksonov/react-native-router-flux/issues/232)\n\n**Closed issues:**\n\n- Example on how to use actionSheet [\\#322](https://github.com/aksonov/react-native-router-flux/issues/322)\n- Dynamic navigationBarStyle / sceneStyle [\\#321](https://github.com/aksonov/react-native-router-flux/issues/321)\n- Cannot read property 'dispatch' of undefined [\\#320](https://github.com/aksonov/react-native-router-flux/issues/320)\n- No animation when switching between routes [\\#319](https://github.com/aksonov/react-native-router-flux/issues/319)\n- Check auth onEnter [\\#318](https://github.com/aksonov/react-native-router-flux/issues/318)\n- NavBar Title [\\#317](https://github.com/aksonov/react-native-router-flux/issues/317)\n- Container offsets [\\#316](https://github.com/aksonov/react-native-router-flux/issues/316)\n- Multiple navigationBar buttons with renderRightButton [\\#315](https://github.com/aksonov/react-native-router-flux/issues/315)\n- improve docs for right navbar item, including onRight [\\#314](https://github.com/aksonov/react-native-router-flux/issues/314)\n- Navigation Titile on Android is in additional View instead of just being Text  [\\#312](https://github.com/aksonov/react-native-router-flux/issues/312)\n- NPM Installation installs v3.0.2-alpha which doesn't have \"Route\" [\\#311](https://github.com/aksonov/react-native-router-flux/issues/311)\n- Getting \"props should be defined for stack\" [\\#310](https://github.com/aksonov/react-native-router-flux/issues/310)\n- Event when route changed? [\\#309](https://github.com/aksonov/react-native-router-flux/issues/309)\n- navigation bar apperas when swipe back to a non-navigation-bar scene [\\#308](https://github.com/aksonov/react-native-router-flux/issues/308)\n- Issues with unit testing components that import RNRF [\\#306](https://github.com/aksonov/react-native-router-flux/issues/306)\n- Problem with running the Example [\\#305](https://github.com/aksonov/react-native-router-flux/issues/305)\n- Navbar not updating [\\#304](https://github.com/aksonov/react-native-router-flux/issues/304)\n- Calling a child route from ListView [\\#303](https://github.com/aksonov/react-native-router-flux/issues/303)\n- Would this work with TabBarIOS? [\\#302](https://github.com/aksonov/react-native-router-flux/issues/302)\n- \\[help wanted\\] How to auto jump new route. [\\#300](https://github.com/aksonov/react-native-router-flux/issues/300)\n- Feature request - A method for printing header beneath navigation bar [\\#299](https://github.com/aksonov/react-native-router-flux/issues/299)\n- Calling the same modal component twice throws error on .dismiss\\(\\) [\\#298](https://github.com/aksonov/react-native-router-flux/issues/298)\n- header option doesn't work [\\#297](https://github.com/aksonov/react-native-router-flux/issues/297)\n- Pop nested Router off main Router [\\#296](https://github.com/aksonov/react-native-router-flux/issues/296)\n- TabBar styling / overlays content [\\#295](https://github.com/aksonov/react-native-router-flux/issues/295)\n- How to get props from Actions.pop\\(\\) [\\#294](https://github.com/aksonov/react-native-router-flux/issues/294)\n- DeviceEventEmitters getting lost on Action.pop\\(\\) [\\#292](https://github.com/aksonov/react-native-router-flux/issues/292)\n- Actions.pop\\(\\) on mounted but not visible component [\\#291](https://github.com/aksonov/react-native-router-flux/issues/291)\n- \\[Closed\\] hideTabBar do not work [\\#289](https://github.com/aksonov/react-native-router-flux/issues/289)\n- Segmented Control [\\#288](https://github.com/aksonov/react-native-router-flux/issues/288)\n- Title not being shown on Tab selection [\\#287](https://github.com/aksonov/react-native-router-flux/issues/287)\n- Custom styling of Back Button [\\#286](https://github.com/aksonov/react-native-router-flux/issues/286)\n- Title after pop with \\(custom title\\) [\\#285](https://github.com/aksonov/react-native-router-flux/issues/285)\n- Changing background colour that appears during animation [\\#283](https://github.com/aksonov/react-native-router-flux/issues/283)\n- Different navBars [\\#281](https://github.com/aksonov/react-native-router-flux/issues/281)\n- ExRouter Add onTransitionToTop method, have a best idear? [\\#279](https://github.com/aksonov/react-native-router-flux/issues/279)\n- TypeError: Cannot read property 'delegate' of null at ExRouter.componentWillUnmount  [\\#277](https://github.com/aksonov/react-native-router-flux/issues/277)\n- Left Back button color [\\#276](https://github.com/aksonov/react-native-router-flux/issues/276)\n- navigationBarStyle in Route doesn't work [\\#274](https://github.com/aksonov/react-native-router-flux/issues/274)\n- Any recommendations for rendering badges on tabbar icons? [\\#272](https://github.com/aksonov/react-native-router-flux/issues/272)\n- Example has no Navigation Bar Buttons [\\#269](https://github.com/aksonov/react-native-router-flux/issues/269)\n- TabBar: inst.render is not a function [\\#268](https://github.com/aksonov/react-native-router-flux/issues/268)\n- Back button [\\#267](https://github.com/aksonov/react-native-router-flux/issues/267)\n- How to change scene outside of onPress\\(\\) [\\#266](https://github.com/aksonov/react-native-router-flux/issues/266)\n- Navigation bar overlaps the content below [\\#265](https://github.com/aksonov/react-native-router-flux/issues/265)\n- componentDidMount not trigger on Actions.pop [\\#264](https://github.com/aksonov/react-native-router-flux/issues/264)\n- V2.3.6 \"Current Router = undefined\" when navigating from a child tab route to a parent tab route [\\#263](https://github.com/aksonov/react-native-router-flux/issues/263)\n- priority about showNavigationBar={false} and hideNavBar={true} [\\#262](https://github.com/aksonov/react-native-router-flux/issues/262)\n- NavBar is behind by one view in nested Router [\\#261](https://github.com/aksonov/react-native-router-flux/issues/261)\n- Clear example with top-level Redux `connect`  [\\#260](https://github.com/aksonov/react-native-router-flux/issues/260)\n- Doing 'reset' as route type produces error [\\#258](https://github.com/aksonov/react-native-router-flux/issues/258)\n- Putting buttons in renderTitle? [\\#256](https://github.com/aksonov/react-native-router-flux/issues/256)\n- Navigation bar disappeared [\\#255](https://github.com/aksonov/react-native-router-flux/issues/255)\n- npm install fails [\\#254](https://github.com/aksonov/react-native-router-flux/issues/254)\n- Session to Login Screen Redirect [\\#253](https://github.com/aksonov/react-native-router-flux/issues/253)\n- Router overrides component's default name prop [\\#252](https://github.com/aksonov/react-native-router-flux/issues/252)\n- Cannot read property 'dispatch' of undefined on componentDidMount [\\#251](https://github.com/aksonov/react-native-router-flux/issues/251)\n- Accessing Route outside of Router looses Navigation bar \\(with Drawer\\) [\\#250](https://github.com/aksonov/react-native-router-flux/issues/250)\n- Ability to set background color [\\#243](https://github.com/aksonov/react-native-router-flux/issues/243)\n- Unable to set selected default tab [\\#238](https://github.com/aksonov/react-native-router-flux/issues/238)\n- Right Button call function from Component [\\#236](https://github.com/aksonov/react-native-router-flux/issues/236)\n- BEFORE\\_ROUTE action doesn't return the right route. [\\#233](https://github.com/aksonov/react-native-router-flux/issues/233)\n- Setting initial route on router? [\\#230](https://github.com/aksonov/react-native-router-flux/issues/230)\n- Dynamic Title [\\#226](https://github.com/aksonov/react-native-router-flux/issues/226)\n- Cannot read property \"onWillFocus\" of undefined [\\#225](https://github.com/aksonov/react-native-router-flux/issues/225)\n- How to render screen-specific navbar buttons? [\\#224](https://github.com/aksonov/react-native-router-flux/issues/224)\n- Module AppRegistry is not a registered callable module [\\#217](https://github.com/aksonov/react-native-router-flux/issues/217)\n- rerender navigator bar [\\#215](https://github.com/aksonov/react-native-router-flux/issues/215)\n- calling same route with different data [\\#207](https://github.com/aksonov/react-native-router-flux/issues/207)\n- Extremely slow on android [\\#199](https://github.com/aksonov/react-native-router-flux/issues/199)\n- Swipe gestures break navigation [\\#197](https://github.com/aksonov/react-native-router-flux/issues/197)\n- Animating modals [\\#187](https://github.com/aksonov/react-native-router-flux/issues/187)\n- Experimental Navigator API [\\#186](https://github.com/aksonov/react-native-router-flux/issues/186)\n- Screen goes blank when switching between tabs [\\#174](https://github.com/aksonov/react-native-router-flux/issues/174)\n- Check if router's stack is null before pop\\(\\) [\\#170](https://github.com/aksonov/react-native-router-flux/issues/170)\n- How to style the Nav Bar ? [\\#160](https://github.com/aksonov/react-native-router-flux/issues/160)\n- How does the Actions pop\\(n\\)? [\\#149](https://github.com/aksonov/react-native-router-flux/issues/149)\n- componentWillUnmount is not triggered when a new route is pushed [\\#131](https://github.com/aksonov/react-native-router-flux/issues/131)\n- Scene transition not animated for type='replace' and type='switch' even when SceneConfig is supplied [\\#125](https://github.com/aksonov/react-native-router-flux/issues/125)\n- onEnter [\\#78](https://github.com/aksonov/react-native-router-flux/issues/78)\n- initial={true} on tab page doesn't work. [\\#62](https://github.com/aksonov/react-native-router-flux/issues/62)\n- Documentation example on how to integrate with a redux/flux architecture [\\#56](https://github.com/aksonov/react-native-router-flux/issues/56)\n- Hide TabBar [\\#52](https://github.com/aksonov/react-native-router-flux/issues/52)\n\n**Merged pull requests:**\n\n- Make pop work on invisible component [\\#313](https://github.com/aksonov/react-native-router-flux/pull/313) ([lrettig](https://github.com/lrettig))\n- fix unable to customize leftButton style [\\#301](https://github.com/aksonov/react-native-router-flux/pull/301) ([plrthink](https://github.com/plrthink))\n- Added renderBackButton to ExRouter constructor [\\#293](https://github.com/aksonov/react-native-router-flux/pull/293) ([jarredwitt](https://github.com/jarredwitt))\n- upgrade examples to React Native 0.21.0 [\\#290](https://github.com/aksonov/react-native-router-flux/pull/290) ([peterp](https://github.com/peterp))\n- Use route props first when determining route title [\\#284](https://github.com/aksonov/react-native-router-flux/pull/284) ([jopecko](https://github.com/jopecko))\n- Added missing defaultRoute action to tabbar [\\#282](https://github.com/aksonov/react-native-router-flux/pull/282) ([Nikamura](https://github.com/Nikamura))\n- ExRouter add onTransitionToTop , like ExNavigator transitionToTop ,  … [\\#280](https://github.com/aksonov/react-native-router-flux/pull/280) ([virtoolswebplayer](https://github.com/virtoolswebplayer))\n- Check if current router exists [\\#278](https://github.com/aksonov/react-native-router-flux/pull/278) ([jasonals](https://github.com/jasonals))\n- NoTransition scene config causes blank scenes [\\#275](https://github.com/aksonov/react-native-router-flux/pull/275) ([keeth](https://github.com/keeth))\n- typo in README [\\#273](https://github.com/aksonov/react-native-router-flux/pull/273) ([Emilios1995](https://github.com/Emilios1995))\n- use hideNavBar in README example [\\#271](https://github.com/aksonov/react-native-router-flux/pull/271) ([zxcpoiu](https://github.com/zxcpoiu))\n- use hideNavBar in example. close \\#262 [\\#270](https://github.com/aksonov/react-native-router-flux/pull/270) ([zxcpoiu](https://github.com/zxcpoiu))\n- Pass updated props to an existing route [\\#259](https://github.com/aksonov/react-native-router-flux/pull/259) ([lrettig](https://github.com/lrettig))\n- Fix pop handling for multi-pop situations [\\#249](https://github.com/aksonov/react-native-router-flux/pull/249) ([JackWink](https://github.com/JackWink))\n- Set style on parent view of router [\\#248](https://github.com/aksonov/react-native-router-flux/pull/248) ([dan-lee](https://github.com/dan-lee))\n- Adding an example link for react-native-drawer [\\#246](https://github.com/aksonov/react-native-router-flux/pull/246) ([efkan](https://github.com/efkan))\n\n## [2.3.1](https://github.com/aksonov/react-native-router-flux/tree/2.3.1) (2016-02-23)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/2.3.0...2.3.1)\n\n**Closed issues:**\n\n- I cannot use together with 'react-native-drawer' [\\#242](https://github.com/aksonov/react-native-router-flux/issues/242)\n- Unable to set selected default tab [\\#241](https://github.com/aksonov/react-native-router-flux/issues/241)\n- how can I  select default tab in tabbar? [\\#240](https://github.com/aksonov/react-native-router-flux/issues/240)\n- Can't run example -- npm start fails with a Naming Collision [\\#227](https://github.com/aksonov/react-native-router-flux/issues/227)\n- Bug when Router appears, disappears, then appears again [\\#221](https://github.com/aksonov/react-native-router-flux/issues/221)\n\n## [2.3.0](https://github.com/aksonov/react-native-router-flux/tree/2.3.0) (2016-02-23)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/2.2.6...2.3.0)\n\n**Closed issues:**\n\n- Any example on how to modify navbar to add custom button? [\\#239](https://github.com/aksonov/react-native-router-flux/issues/239)\n- `No current Router is set` issue [\\#223](https://github.com/aksonov/react-native-router-flux/issues/223)\n- Redux Integration [\\#220](https://github.com/aksonov/react-native-router-flux/issues/220)\n- Swipe broken in example [\\#206](https://github.com/aksonov/react-native-router-flux/issues/206)\n- Move ExRouter and RouterIOS to 'plugins' folder [\\#191](https://github.com/aksonov/react-native-router-flux/issues/191)\n- Confusing nomenclature with the term router [\\#188](https://github.com/aksonov/react-native-router-flux/issues/188)\n- Change route dynamically [\\#182](https://github.com/aksonov/react-native-router-flux/issues/182)\n- Combining Router and navigation Drawer [\\#92](https://github.com/aksonov/react-native-router-flux/issues/92)\n\n**Merged pull requests:**\n\n- improve README [\\#234](https://github.com/aksonov/react-native-router-flux/pull/234) ([cht8687](https://github.com/cht8687))\n- Fix swipe back gesture issue [\\#231](https://github.com/aksonov/react-native-router-flux/pull/231) ([xhyp0](https://github.com/xhyp0))\n\n## [2.2.6](https://github.com/aksonov/react-native-router-flux/tree/2.2.6) (2016-02-18)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/2.2.5...2.2.6)\n\n**Closed issues:**\n\n- internal server error: @exponent/react-native-action-sheet [\\#219](https://github.com/aksonov/react-native-router-flux/issues/219)\n- Dismiss not removing modal [\\#216](https://github.com/aksonov/react-native-router-flux/issues/216)\n- Swipe actions getting caught by react-native-router-flux [\\#214](https://github.com/aksonov/react-native-router-flux/issues/214)\n- renderRightButton with save button. [\\#213](https://github.com/aksonov/react-native-router-flux/issues/213)\n- Image Background [\\#205](https://github.com/aksonov/react-native-router-flux/issues/205)\n\n**Merged pull requests:**\n\n- BaseRouter bug fix, add route data when dispatch BEFORE\\_FOCUS, AFTER\\_FOCUS [\\#222](https://github.com/aksonov/react-native-router-flux/pull/222) ([jungsoo108](https://github.com/jungsoo108))\n- Add examples for animating modals [\\#218](https://github.com/aksonov/react-native-router-flux/pull/218) ([sbycrosz](https://github.com/sbycrosz))\n\n## [2.2.5](https://github.com/aksonov/react-native-router-flux/tree/2.2.5) (2016-02-16)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/2.2.4...2.2.5)\n\n## [2.2.4](https://github.com/aksonov/react-native-router-flux/tree/2.2.4) (2016-02-16)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/2.2.3...2.2.4)\n\n**Closed issues:**\n\n- Build breaking due to ExNavigator [\\#208](https://github.com/aksonov/react-native-router-flux/issues/208)\n\n## [2.2.3](https://github.com/aksonov/react-native-router-flux/tree/2.2.3) (2016-02-16)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/2.1.4...2.2.3)\n\n**Closed issues:**\n\n- Navigation doesn't work when using Chrome debugging [\\#210](https://github.com/aksonov/react-native-router-flux/issues/210)\n- Adding buttons to Nav Bar [\\#203](https://github.com/aksonov/react-native-router-flux/issues/203)\n- Please how can i implement Router in react-native-scrollable-tab-view [\\#198](https://github.com/aksonov/react-native-router-flux/issues/198)\n- Router issues when popping from a modal presented from the root [\\#192](https://github.com/aksonov/react-native-router-flux/issues/192)\n- How to use the NavBar in teh Example/components folder? [\\#189](https://github.com/aksonov/react-native-router-flux/issues/189)\n- Router should pass its own props to Route's on subsequent renders [\\#184](https://github.com/aksonov/react-native-router-flux/issues/184)\n- Actions.currentRouter.currentRoute is not updated [\\#183](https://github.com/aksonov/react-native-router-flux/issues/183)\n- NPM and Github releases out of sync [\\#178](https://github.com/aksonov/react-native-router-flux/issues/178)\n- Swipe back is flaky [\\#176](https://github.com/aksonov/react-native-router-flux/issues/176)\n- \"Cannot read property 'push' of undefined\" when mounting router for the second time [\\#172](https://github.com/aksonov/react-native-router-flux/issues/172)\n- Passing data back to parent with Actions.pop? [\\#171](https://github.com/aksonov/react-native-router-flux/issues/171)\n- Tabbed Nested Router Re-use Question [\\#169](https://github.com/aksonov/react-native-router-flux/issues/169)\n- Passing props through Route [\\#167](https://github.com/aksonov/react-native-router-flux/issues/167)\n- Can't set Tab Screen to initial screen [\\#166](https://github.com/aksonov/react-native-router-flux/issues/166)\n- Non-fullscreen route [\\#165](https://github.com/aksonov/react-native-router-flux/issues/165)\n- Navigate To  child route [\\#164](https://github.com/aksonov/react-native-router-flux/issues/164)\n- Can't get the navigationContext for didfocus and willfocus events [\\#161](https://github.com/aksonov/react-native-router-flux/issues/161)\n- Repetitive Infinite Tab appearing over itself [\\#159](https://github.com/aksonov/react-native-router-flux/issues/159)\n- How do I get the current route? [\\#158](https://github.com/aksonov/react-native-router-flux/issues/158)\n- Logging previous and next state incorrect [\\#152](https://github.com/aksonov/react-native-router-flux/issues/152)\n- Looking for help with customized navigation bar style [\\#151](https://github.com/aksonov/react-native-router-flux/issues/151)\n- Version 2.x breaks navbar styling, text is not justified vertically [\\#147](https://github.com/aksonov/react-native-router-flux/issues/147)\n- Resetting routers on tabs already selected [\\#130](https://github.com/aksonov/react-native-router-flux/issues/130)\n- when press back button in nested tab router, it will pop out [\\#110](https://github.com/aksonov/react-native-router-flux/issues/110)\n\n**Merged pull requests:**\n\n- docs: update props list of Route object [\\#212](https://github.com/aksonov/react-native-router-flux/pull/212) ([oureta](https://github.com/oureta))\n- docs: update props list of Route object [\\#211](https://github.com/aksonov/react-native-router-flux/pull/211) ([oureta](https://github.com/oureta))\n- Add BEFORE\\_FOCUS and AFTER\\_FOCUS for swipe gesture handling. [\\#204](https://github.com/aksonov/react-native-router-flux/pull/204) ([lynndylanhurley](https://github.com/lynndylanhurley))\n- Update info on Redux/Flux support [\\#202](https://github.com/aksonov/react-native-router-flux/pull/202) ([mmazzarolo](https://github.com/mmazzarolo))\n- Update info on Redux/Flux support [\\#201](https://github.com/aksonov/react-native-router-flux/pull/201) ([mmazzarolo](https://github.com/mmazzarolo))\n- Fixes passing route props again [\\#200](https://github.com/aksonov/react-native-router-flux/pull/200) ([danielweinmann](https://github.com/danielweinmann))\n- Renames Router to BaseRouter and ReactRouter to Router and router prop on Router to plugin [\\#196](https://github.com/aksonov/react-native-router-flux/pull/196) ([danielweinmann](https://github.com/danielweinmann))\n- Added Sidebar/Drawer support [\\#195](https://github.com/aksonov/react-native-router-flux/pull/195) ([mmazzarolo](https://github.com/mmazzarolo))\n- update react native version in gradle file [\\#194](https://github.com/aksonov/react-native-router-flux/pull/194) ([peterlazar1993](https://github.com/peterlazar1993))\n- upgraded generated react-native files to 0.19.0 [\\#193](https://github.com/aksonov/react-native-router-flux/pull/193) ([philipshurpik](https://github.com/philipshurpik))\n- Passes Router props to Route's on subsequent renders [\\#185](https://github.com/aksonov/react-native-router-flux/pull/185) ([danielweinmann](https://github.com/danielweinmann))\n- Documents Route's hideNavBar prop [\\#181](https://github.com/aksonov/react-native-router-flux/pull/181) ([danielweinmann](https://github.com/danielweinmann))\n- remove duplicate lines [\\#179](https://github.com/aksonov/react-native-router-flux/pull/179) ([iZaL](https://github.com/iZaL))\n- Get rid off white flickering line that appears underneath router header [\\#175](https://github.com/aksonov/react-native-router-flux/pull/175) ([lananelson](https://github.com/lananelson))\n- Clears Actions.currentRouter when unmounting ExRouter if this is the … [\\#173](https://github.com/aksonov/react-native-router-flux/pull/173) ([danielweinmann](https://github.com/danielweinmann))\n- Updated package.json to include GitHub URL [\\#168](https://github.com/aksonov/react-native-router-flux/pull/168) ([ffxsam](https://github.com/ffxsam))\n\n## [2.1.4](https://github.com/aksonov/react-native-router-flux/tree/2.1.4) (2016-02-01)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/2.0.2...2.1.4)\n\n**Closed issues:**\n\n- Get current route onPop [\\#156](https://github.com/aksonov/react-native-router-flux/issues/156)\n- Pass type to Actions.route\\(\\) [\\#155](https://github.com/aksonov/react-native-router-flux/issues/155)\n- NavBar button are below the title area. How can i fixed? [\\#153](https://github.com/aksonov/react-native-router-flux/issues/153)\n- Can't set Tab Screen to initial screen in v2.1.3 [\\#148](https://github.com/aksonov/react-native-router-flux/issues/148)\n- barButtonIconStyle, titleStyle, navigationBarStyle, sceneStyle ignored in Route that is inside nested Router [\\#146](https://github.com/aksonov/react-native-router-flux/issues/146)\n- Demo seems to be broken [\\#145](https://github.com/aksonov/react-native-router-flux/issues/145)\n- Push component from a function [\\#144](https://github.com/aksonov/react-native-router-flux/issues/144)\n- TabBar directly under NavBar [\\#143](https://github.com/aksonov/react-native-router-flux/issues/143)\n- Custom title not working [\\#141](https://github.com/aksonov/react-native-router-flux/issues/141)\n- Anyone else get  Invalid name: \"@exponent/react-native-navigator\" during install? [\\#140](https://github.com/aksonov/react-native-router-flux/issues/140)\n- Add support for customizing right/left buttons [\\#137](https://github.com/aksonov/react-native-router-flux/issues/137)\n- Question: What is the proper way to style and use icons w TabBar? [\\#136](https://github.com/aksonov/react-native-router-flux/issues/136)\n- Getting currentRoute inside of Tab Route returns parent Route [\\#133](https://github.com/aksonov/react-native-router-flux/issues/133)\n- Router can't go `back` on tabs not first selected. [\\#132](https://github.com/aksonov/react-native-router-flux/issues/132)\n- Emergency:  [\\#129](https://github.com/aksonov/react-native-router-flux/issues/129)\n- Can you explain what wrapRouter does ? [\\#128](https://github.com/aksonov/react-native-router-flux/issues/128)\n- \\[FR\\] Allow to explicitly specify backButtonText in Route [\\#127](https://github.com/aksonov/react-native-router-flux/issues/127)\n- With the master version,there can be double headers [\\#126](https://github.com/aksonov/react-native-router-flux/issues/126)\n- Hiding navbar with route type = switch [\\#124](https://github.com/aksonov/react-native-router-flux/issues/124)\n- Nested Schemas does not work [\\#123](https://github.com/aksonov/react-native-router-flux/issues/123)\n- \\[Android\\] Back Button closes/crashes app [\\#122](https://github.com/aksonov/react-native-router-flux/issues/122)\n- Question: Redux/Flux support [\\#121](https://github.com/aksonov/react-native-router-flux/issues/121)\n- Cannot read property 'parent' of undefined when tapping on tab bar item [\\#120](https://github.com/aksonov/react-native-router-flux/issues/120)\n- Get current route stack [\\#117](https://github.com/aksonov/react-native-router-flux/issues/117)\n- How to display navigation bar only on specific screens? [\\#116](https://github.com/aksonov/react-native-router-flux/issues/116)\n- Route is not defined [\\#115](https://github.com/aksonov/react-native-router-flux/issues/115)\n- How do I pop back to another router? [\\#114](https://github.com/aksonov/react-native-router-flux/issues/114)\n- Display image in navbar [\\#113](https://github.com/aksonov/react-native-router-flux/issues/113)\n- Header works only for the first Router level [\\#112](https://github.com/aksonov/react-native-router-flux/issues/112)\n- Route issue in mode dev=true [\\#111](https://github.com/aksonov/react-native-router-flux/issues/111)\n- Searchbox in NavigationBar? [\\#109](https://github.com/aksonov/react-native-router-flux/issues/109)\n- 2.x - Unable to display footer only on specific routes [\\#107](https://github.com/aksonov/react-native-router-flux/issues/107)\n- Setting initial props gives me an route is not defined [\\#105](https://github.com/aksonov/react-native-router-flux/issues/105)\n- ExNavigator \\(Styles\\) undefined  [\\#104](https://github.com/aksonov/react-native-router-flux/issues/104)\n- NavBar overlays content [\\#103](https://github.com/aksonov/react-native-router-flux/issues/103)\n- Get current route stack/stack size [\\#101](https://github.com/aksonov/react-native-router-flux/issues/101)\n- renderRightButton example? [\\#100](https://github.com/aksonov/react-native-router-flux/issues/100)\n- Navigation Titile on Android is in additional View instead of just being Text [\\#98](https://github.com/aksonov/react-native-router-flux/issues/98)\n- Possible To Use Existing Routes & Components? [\\#96](https://github.com/aksonov/react-native-router-flux/issues/96)\n- How to only show Navbar Title? [\\#95](https://github.com/aksonov/react-native-router-flux/issues/95)\n- Add styles to Tabbar [\\#94](https://github.com/aksonov/react-native-router-flux/issues/94)\n- componentWillUnmount not called when I go to new route [\\#91](https://github.com/aksonov/react-native-router-flux/issues/91)\n- routeReducer not working properly [\\#87](https://github.com/aksonov/react-native-router-flux/issues/87)\n- TabBar may select two tab in Example [\\#84](https://github.com/aksonov/react-native-router-flux/issues/84)\n- Redirecting actions based on if/else generates error [\\#82](https://github.com/aksonov/react-native-router-flux/issues/82)\n- NavBars won't \"easily show/hide\" \\(iOS 9.2\\) [\\#80](https://github.com/aksonov/react-native-router-flux/issues/80)\n- Possible to go to specific tabbar tab using Actions? [\\#75](https://github.com/aksonov/react-native-router-flux/issues/75)\n- Selectively hide navigation bar [\\#72](https://github.com/aksonov/react-native-router-flux/issues/72)\n- Passing data to nested routers [\\#71](https://github.com/aksonov/react-native-router-flux/issues/71)\n- Setting up authentication to check if user is logged in [\\#66](https://github.com/aksonov/react-native-router-flux/issues/66)\n- onPop being called? [\\#53](https://github.com/aksonov/react-native-router-flux/issues/53)\n- Schema=popup in 1.x ?  [\\#51](https://github.com/aksonov/react-native-router-flux/issues/51)\n- Styling the NavBar [\\#47](https://github.com/aksonov/react-native-router-flux/issues/47)\n\n**Merged pull requests:**\n\n- Tap on tab to go to home [\\#163](https://github.com/aksonov/react-native-router-flux/pull/163) ([zebulgar](https://github.com/zebulgar))\n- Support passing type to Actions.route, fixes \\#155 [\\#157](https://github.com/aksonov/react-native-router-flux/pull/157) ([adrienbrault](https://github.com/adrienbrault))\n- Stop popping if there is nowhere to go [\\#154](https://github.com/aksonov/react-native-router-flux/pull/154) ([zebulgar](https://github.com/zebulgar))\n- navigationStyles breaks on Android [\\#150](https://github.com/aksonov/react-native-router-flux/pull/150) ([eranbes](https://github.com/eranbes))\n- Patch 2: fix a bug in Actions.pop [\\#142](https://github.com/aksonov/react-native-router-flux/pull/142) ([lrettig](https://github.com/lrettig))\n- Update to README to reflect reset type routes [\\#139](https://github.com/aksonov/react-native-router-flux/pull/139) ([rgoldiez](https://github.com/rgoldiez))\n- Allow tabBar custom style [\\#138](https://github.com/aksonov/react-native-router-flux/pull/138) ([rturk](https://github.com/rturk))\n- Update Component Name [\\#135](https://github.com/aksonov/react-native-router-flux/pull/135) ([phoenixbox](https://github.com/phoenixbox))\n- Add onLeft, leftTitle, etc. route props [\\#119](https://github.com/aksonov/react-native-router-flux/pull/119) ([lrettig](https://github.com/lrettig))\n- Allow for icon style and text style to be passed [\\#118](https://github.com/aksonov/react-native-router-flux/pull/118) ([zebulgar](https://github.com/zebulgar))\n- Add navigationStyles to ExNavigationBar.  [\\#108](https://github.com/aksonov/react-native-router-flux/pull/108) ([delta1](https://github.com/delta1))\n- add reset action [\\#106](https://github.com/aksonov/react-native-router-flux/pull/106) ([daemonchen](https://github.com/daemonchen))\n\n## [2.0.2](https://github.com/aksonov/react-native-router-flux/tree/2.0.2) (2016-01-04)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/1.0.1...2.0.2)\n\n**Closed issues:**\n\n- Passing the Navigation title in Action [\\#99](https://github.com/aksonov/react-native-router-flux/issues/99)\n- 2.0 \\(alpha\\) version branch [\\#97](https://github.com/aksonov/react-native-router-flux/issues/97)\n- TabBar speed... [\\#90](https://github.com/aksonov/react-native-router-flux/issues/90)\n- Is this how hidenavbar should work? [\\#89](https://github.com/aksonov/react-native-router-flux/issues/89)\n- How to push to new route within function? [\\#88](https://github.com/aksonov/react-native-router-flux/issues/88)\n- Jump to an existing route? [\\#85](https://github.com/aksonov/react-native-router-flux/issues/85)\n- Overlaying the nav bar [\\#83](https://github.com/aksonov/react-native-router-flux/issues/83)\n- BACK button on Android exits the app [\\#81](https://github.com/aksonov/react-native-router-flux/issues/81)\n- ExNavigator – Unexpected token? [\\#76](https://github.com/aksonov/react-native-router-flux/issues/76)\n- android launching error [\\#68](https://github.com/aksonov/react-native-router-flux/issues/68)\n- Animated Replace [\\#67](https://github.com/aksonov/react-native-router-flux/issues/67)\n-  Back button doesn't work if not on tab 1 when implementing tabs in a subcomponent [\\#64](https://github.com/aksonov/react-native-router-flux/issues/64)\n- Schema doesn't work when implementing tabs in a subcomponent [\\#63](https://github.com/aksonov/react-native-router-flux/issues/63)\n- renderBackButton or renderLeftButton? [\\#61](https://github.com/aksonov/react-native-router-flux/issues/61)\n- add onEnter and onLeave hooks for Routes [\\#60](https://github.com/aksonov/react-native-router-flux/issues/60)\n- Issues implementing tabs in subcomponent [\\#59](https://github.com/aksonov/react-native-router-flux/issues/59)\n- Ignore `.idea` directory for better readability? [\\#54](https://github.com/aksonov/react-native-router-flux/issues/54)\n- How to hide navbar? [\\#50](https://github.com/aksonov/react-native-router-flux/issues/50)\n- Tabs NavBar doesn't show on first reroute [\\#49](https://github.com/aksonov/react-native-router-flux/issues/49)\n- It doesn't work with react-native@0.16.0 [\\#43](https://github.com/aksonov/react-native-router-flux/issues/43)\n- Routes inside of a tab container? [\\#42](https://github.com/aksonov/react-native-router-flux/issues/42)\n- Navbar is hidden in pages even if  hideNavBar is false [\\#41](https://github.com/aksonov/react-native-router-flux/issues/41)\n- why the animation is forbidden in Container.js [\\#40](https://github.com/aksonov/react-native-router-flux/issues/40)\n- Example broken with latest react-native-navbar [\\#33](https://github.com/aksonov/react-native-router-flux/issues/33)\n- Testing with jest breaked [\\#32](https://github.com/aksonov/react-native-router-flux/issues/32)\n- Intercept transitions [\\#29](https://github.com/aksonov/react-native-router-flux/issues/29)\n- Is it able to create multiple router instances? [\\#26](https://github.com/aksonov/react-native-router-flux/issues/26)\n- PopUp View can't call programatically.... [\\#25](https://github.com/aksonov/react-native-router-flux/issues/25)\n\n**Merged pull requests:**\n\n- 2.0 [\\#102](https://github.com/aksonov/react-native-router-flux/pull/102) ([aksonov](https://github.com/aksonov))\n- Improved documentation [\\#86](https://github.com/aksonov/react-native-router-flux/pull/86) ([emrosenf](https://github.com/emrosenf))\n- Comment out console.log in push [\\#79](https://github.com/aksonov/react-native-router-flux/pull/79) ([ghost](https://github.com/ghost))\n- Add a Gitter chat badge to README.md [\\#74](https://github.com/aksonov/react-native-router-flux/pull/74) ([gitter-badger](https://github.com/gitter-badger))\n- Use `initialRouteStack` instead of `initialRoute` [\\#73](https://github.com/aksonov/react-native-router-flux/pull/73) ([liuyaodong](https://github.com/liuyaodong))\n- Allow for renderTitle to be passed through [\\#70](https://github.com/aksonov/react-native-router-flux/pull/70) ([zebulgar](https://github.com/zebulgar))\n- clear 'npm install' artifacts from package.json [\\#58](https://github.com/aksonov/react-native-router-flux/pull/58) ([ghost](https://github.com/ghost))\n\n## [1.0.1](https://github.com/aksonov/react-native-router-flux/tree/1.0.1) (2015-12-10)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/1.0.0...1.0.1)\n\n**Closed issues:**\n\n- New demo [\\#46](https://github.com/aksonov/react-native-router-flux/issues/46)\n\n**Merged pull requests:**\n\n- Small comment change [\\#48](https://github.com/aksonov/react-native-router-flux/pull/48) ([zebulgar](https://github.com/zebulgar))\n\n## [1.0.0](https://github.com/aksonov/react-native-router-flux/tree/1.0.0) (2015-12-09)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/0.3.0...1.0.0)\n\n**Closed issues:**\n\n- Go back twice? [\\#39](https://github.com/aksonov/react-native-router-flux/issues/39)\n- replace does not call componentWillUnmount for replaced component [\\#36](https://github.com/aksonov/react-native-router-flux/issues/36)\n- Can it use with react-redux/native ??? [\\#34](https://github.com/aksonov/react-native-router-flux/issues/34)\n- Changeing Tab in Container [\\#28](https://github.com/aksonov/react-native-router-flux/issues/28)\n- \\[Android\\] transition effects stopped working after RN 0.13 update [\\#27](https://github.com/aksonov/react-native-router-flux/issues/27)\n- Getting state from Route at NavBar [\\#24](https://github.com/aksonov/react-native-router-flux/issues/24)\n- How do I use Actions.reset\\(\\) method? [\\#23](https://github.com/aksonov/react-native-router-flux/issues/23)\n- Unable to Launch TabBar on Android [\\#22](https://github.com/aksonov/react-native-router-flux/issues/22)\n- Unable to Launch TabBar on Android [\\#21](https://github.com/aksonov/react-native-router-flux/issues/21)\n- Example of calling Action from a fucntion? [\\#20](https://github.com/aksonov/react-native-router-flux/issues/20)\n- Android Support [\\#19](https://github.com/aksonov/react-native-router-flux/issues/19)\n- Swipe to go back [\\#17](https://github.com/aksonov/react-native-router-flux/issues/17)\n- Notification Count with TabBar [\\#16](https://github.com/aksonov/react-native-router-flux/issues/16)\n- Get current route in parent element [\\#15](https://github.com/aksonov/react-native-router-flux/issues/15)\n- Drawer layout on some routes [\\#14](https://github.com/aksonov/react-native-router-flux/issues/14)\n- Warning when calling an Action [\\#13](https://github.com/aksonov/react-native-router-flux/issues/13)\n- How to trigger \"Replace\" from Router Actions? \\(instead of push,pop\\) [\\#12](https://github.com/aksonov/react-native-router-flux/issues/12)\n\n**Merged pull requests:**\n\n- 1.0 release [\\#45](https://github.com/aksonov/react-native-router-flux/pull/45) ([aksonov](https://github.com/aksonov))\n- Use javascript syntax highlighting in examples [\\#38](https://github.com/aksonov/react-native-router-flux/pull/38) ([danscan](https://github.com/danscan))\n- Update package.json [\\#35](https://github.com/aksonov/react-native-router-flux/pull/35) ([Mokto](https://github.com/Mokto))\n- fix iOS demo\\[bundle url & packager failed with npm start\\] [\\#30](https://github.com/aksonov/react-native-router-flux/pull/30) ([qbig](https://github.com/qbig))\n\n## [0.3.0](https://github.com/aksonov/react-native-router-flux/tree/0.3.0) (2015-10-05)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/0.2.2...0.3.0)\n\n## [0.2.2](https://github.com/aksonov/react-native-router-flux/tree/0.2.2) (2015-09-29)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/0.2.0...0.2.2)\n\n## [0.2.0](https://github.com/aksonov/react-native-router-flux/tree/0.2.0) (2015-09-29)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/v0.1.10...0.2.0)\n\n**Closed issues:**\n\n- Changing the FlatFloatFromRight shadow color [\\#10](https://github.com/aksonov/react-native-router-flux/issues/10)\n- Cannot find module buildStyleInterpolator [\\#9](https://github.com/aksonov/react-native-router-flux/issues/9)\n- God it would be nice if... [\\#8](https://github.com/aksonov/react-native-router-flux/issues/8)\n\n## [v0.1.10](https://github.com/aksonov/react-native-router-flux/tree/v0.1.10) (2015-09-25)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/v0.1.1...v0.1.10)\n\n**Closed issues:**\n\n- Nitpicking  [\\#7](https://github.com/aksonov/react-native-router-flux/issues/7)\n\n**Merged pull requests:**\n\n- make components transparent [\\#6](https://github.com/aksonov/react-native-router-flux/pull/6) ([markburns](https://github.com/markburns))\n\n## [v0.1.1](https://github.com/aksonov/react-native-router-flux/tree/v0.1.1) (2015-09-07)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/v0.1.0...v0.1.1)\n\n**Closed issues:**\n\n- Breaks when minified [\\#4](https://github.com/aksonov/react-native-router-flux/issues/4)\n\n## [v0.1.0](https://github.com/aksonov/react-native-router-flux/tree/v0.1.0) (2015-09-07)\n**Closed issues:**\n\n- No transition option [\\#2](https://github.com/aksonov/react-native-router-flux/issues/2)\n- Demo for README [\\#1](https://github.com/aksonov/react-native-router-flux/issues/1)\n\n**Merged pull requests:**\n\n- Add string names to avoid obfuscation [\\#5](https://github.com/aksonov/react-native-router-flux/pull/5) ([mull](https://github.com/mull))\n\n\n\\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*"
  },
  {
    "path": "CONTRIBUTING.md",
    "content": "# Contribute\n\n## Introduction\n\nFirst, thank you for considering contributing to react-native-router-flux! It's people like you that make the open source community such a great community! 😊\n\nWe welcome any type of contribution, not only code. You can help with\n- **QA**: file bug reports, the more details you can give the better (e.g. screenshots with the console open)\n- **Marketing**: writing blog posts, howto's, printing stickers, ...\n- **Community**: presenting the project at meetups, organizing a dedicated meetup for the local community, ...\n- **Code**: take a look at the [open issues](https://github.com/aksonov/react-native-router-flux/issues?q=is%3Aopen+is%3Aissue). Even if you can't write code, commenting on them, showing that you care about a given issue matters. It helps us triage them. To get started you can also [sign up to triage react-native-router-flux issues on CodeTriage](https://www.codetriage.com/aksonov/react-native-router-flux).\n- **Money**: we welcome financial contributions in full transparency on our [open collective](https://opencollective.com/react-native-router-flux).\n\n## Your First Contribution\n\nWorking on your first Pull Request? You can learn how from this *free* series, [How to Contribute to an Open Source Project on GitHub](https://egghead.io/series/how-to-contribute-to-an-open-source-project-on-github).\n\n## Submitting code\n\nAny code change should be submitted as a pull request. The description should explain what the code does and give steps to execute it. The pull request should also contain tests.\n\n## Code review process\n\nThe bigger the pull request, the longer it will take to review and merge. Try to break down large pull requests in smaller chunks that are easier to review and merge.\nIt is also always helpful to have some context for your pull request. What was the purpose? Why does it matter to you?\n\n## Financial contributions\n\nWe also welcome financial contributions in full transparency on our [open collective](https://opencollective.com/react-native-router-flux).\nAnyone can file an expense. If the expense makes sense for the development of the community, it will be \"merged\" in the ledger of our open collective by the core contributors and the person who filed the expense will be reimbursed.\n\n## Questions\n\nIf you have any questions, create an [issue](issue) (protip: do a quick search first to see if someone else didn't ask the same question before!).\nYou can also reach us at hello@react-native-router-flux.opencollective.com.\n\n## Credits\n\n### Contributors\n\nThank you to all the people who have already contributed to react-native-router-flux!\n<a href=\"graphs/contributors\"><img src=\"https://opencollective.com/react-native-router-flux/contributors.svg?width=890\" /></a>\n\n\n### Backers\n\nThank you to all our backers! [[Become a backer](https://opencollective.com/react-native-router-flux#backer)]\n\n<a href=\"https://opencollective.com/react-native-router-flux#backers\" target=\"_blank\"><img src=\"https://opencollective.com/react-native-router-flux/backers.svg?width=890\"></a>\n\n\n### Sponsors\n\nThank you to all our sponsors! (please ask your company to also support this open source project by [becoming a sponsor](https://opencollective.com/react-native-router-flux#sponsor))\n\n<a href=\"https://opencollective.com/react-native-router-flux/sponsor/0/website\" target=\"_blank\"><img src=\"https://opencollective.com/react-native-router-flux/sponsor/0/avatar.svg\"></a>\n<a href=\"https://opencollective.com/react-native-router-flux/sponsor/1/website\" target=\"_blank\"><img src=\"https://opencollective.com/react-native-router-flux/sponsor/1/avatar.svg\"></a>\n<a href=\"https://opencollective.com/react-native-router-flux/sponsor/2/website\" target=\"_blank\"><img src=\"https://opencollective.com/react-native-router-flux/sponsor/2/avatar.svg\"></a>\n<a href=\"https://opencollective.com/react-native-router-flux/sponsor/3/website\" target=\"_blank\"><img src=\"https://opencollective.com/react-native-router-flux/sponsor/3/avatar.svg\"></a>\n<a href=\"https://opencollective.com/react-native-router-flux/sponsor/4/website\" target=\"_blank\"><img src=\"https://opencollective.com/react-native-router-flux/sponsor/4/avatar.svg\"></a>\n<a href=\"https://opencollective.com/react-native-router-flux/sponsor/5/website\" target=\"_blank\"><img src=\"https://opencollective.com/react-native-router-flux/sponsor/5/avatar.svg\"></a>\n<a href=\"https://opencollective.com/react-native-router-flux/sponsor/6/website\" target=\"_blank\"><img src=\"https://opencollective.com/react-native-router-flux/sponsor/6/avatar.svg\"></a>\n<a href=\"https://opencollective.com/react-native-router-flux/sponsor/7/website\" target=\"_blank\"><img src=\"https://opencollective.com/react-native-router-flux/sponsor/7/avatar.svg\"></a>\n<a href=\"https://opencollective.com/react-native-router-flux/sponsor/8/website\" target=\"_blank\"><img src=\"https://opencollective.com/react-native-router-flux/sponsor/8/avatar.svg\"></a>\n<a href=\"https://opencollective.com/react-native-router-flux/sponsor/9/website\" target=\"_blank\"><img src=\"https://opencollective.com/react-native-router-flux/sponsor/9/avatar.svg\"></a>\n\n<!-- This `CONTRIBUTING.md` is based on @nayafia's template https://github.com/nayafia/contributing-template -->\n"
  },
  {
    "path": "HISTORY.md",
    "content": "# Change Log\n\n## [4.0.0-beta.23](https://github.com/aksonov/react-native-router-flux/tree/4.0.0-beta.23) (2017-11-08)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/4.0.0-beta.22...4.0.0-beta.23)\n\n**Implemented enhancements:**\n\n- Is it possible to reset child stack only? [\\#2317](https://github.com/aksonov/react-native-router-flux/issues/2317)\n\n**Closed issues:**\n\n- Nested scene + navbar ? [\\#2586](https://github.com/aksonov/react-native-router-flux/issues/2586)\n- eval of \"Action.key\\(\\)\" not working. [\\#2582](https://github.com/aksonov/react-native-router-flux/issues/2582)\n- Performance of exiting modal is not good as official Modal  [\\#2581](https://github.com/aksonov/react-native-router-flux/issues/2581)\n- Tabs rendering scenes in all Stack [\\#2568](https://github.com/aksonov/react-native-router-flux/issues/2568)\n- Lightbox not rendered on top of initial scene \\(e.g not transparent\\) [\\#2553](https://github.com/aksonov/react-native-router-flux/issues/2553)\n- Maximum call stack exceeded when closing drawer [\\#2542](https://github.com/aksonov/react-native-router-flux/issues/2542)\n- How to customize drawer button in routerFlux 4.0 [\\#2538](https://github.com/aksonov/react-native-router-flux/issues/2538)\n- Unexpected margin/padding on the top of the page [\\#2536](https://github.com/aksonov/react-native-router-flux/issues/2536)\n- Navigate directly to nested scenes while preserving the back button scene hierarchy [\\#2529](https://github.com/aksonov/react-native-router-flux/issues/2529)\n- Usage of NON-static onEnter / onExit within component replacing componentDidMount / componentDidUnmount [\\#2528](https://github.com/aksonov/react-native-router-flux/issues/2528)\n- \\[bug/question HOWTO\\] Transition from TabBar \\(without NavBar\\) to scene with NavBar [\\#2527](https://github.com/aksonov/react-native-router-flux/issues/2527)\n- No swipe back gesture in V4 [\\#2525](https://github.com/aksonov/react-native-router-flux/issues/2525)\n- error on scene with redux [\\#2523](https://github.com/aksonov/react-native-router-flux/issues/2523)\n- TypeError: undefined is not a function this.\\_children\\[typeof Symbol === 'function'? Symbol.iterator: '@@iterator'\\]\\(\\)'\\) [\\#2520](https://github.com/aksonov/react-native-router-flux/issues/2520)\n- Cannot read property 'string' of undefined [\\#2517](https://github.com/aksonov/react-native-router-flux/issues/2517)\n- Scene props are not changing when pressing onRight and calling Actions.refresh\\(\\)  [\\#2514](https://github.com/aksonov/react-native-router-flux/issues/2514)\n- How can I manipulate 2 different scenes on a single screen? [\\#2513](https://github.com/aksonov/react-native-router-flux/issues/2513)\n- \\[BUG\\] navigation.setParams stopped working [\\#2509](https://github.com/aksonov/react-native-router-flux/issues/2509)\n- Unable to start app - RN v0.49.3 [\\#2507](https://github.com/aksonov/react-native-router-flux/issues/2507)\n- Help needed with multiple drawers on each page. [\\#2506](https://github.com/aksonov/react-native-router-flux/issues/2506)\n- \\[NAVBAR\\] NavBarTitleImage not centred with backButtonImage on Android [\\#2505](https://github.com/aksonov/react-native-router-flux/issues/2505)\n- Not able to navigate to same screen from same screen in react-router flux [\\#2504](https://github.com/aksonov/react-native-router-flux/issues/2504)\n-  the question is  how can i  let the children scenes will have right-to-left  animation on android? [\\#2502](https://github.com/aksonov/react-native-router-flux/issues/2502)\n- popTo\\('Scene Key'\\) does not work on a single page [\\#2501](https://github.com/aksonov/react-native-router-flux/issues/2501)\n- success handler not working \\(v4\\) [\\#2498](https://github.com/aksonov/react-native-router-flux/issues/2498)\n- Navigating just not doing anything [\\#2497](https://github.com/aksonov/react-native-router-flux/issues/2497)\n- Overlay navigation doesn't wrap my react-native-drawer anymore [\\#2496](https://github.com/aksonov/react-native-router-flux/issues/2496)\n- Minimize android app from initial screen not working [\\#2494](https://github.com/aksonov/react-native-router-flux/issues/2494)\n- Missing navigationBarStyle typing on Stack [\\#2493](https://github.com/aksonov/react-native-router-flux/issues/2493)\n- Actions transitions cannot be configured [\\#2490](https://github.com/aksonov/react-native-router-flux/issues/2490)\n- Super expression must either be null or a function, not undefined [\\#2488](https://github.com/aksonov/react-native-router-flux/issues/2488)\n- Going from tab through non-tabs back to different tab [\\#2486](https://github.com/aksonov/react-native-router-flux/issues/2486)\n- Drawer : `onEnter`, `onExit` or `open`...  [\\#2485](https://github.com/aksonov/react-native-router-flux/issues/2485)\n- Bad performance during orientation change with tabs [\\#2483](https://github.com/aksonov/react-native-router-flux/issues/2483)\n- Replace scene but use push/pop animation [\\#2476](https://github.com/aksonov/react-native-router-flux/issues/2476)\n- map next scenes [\\#2475](https://github.com/aksonov/react-native-router-flux/issues/2475)\n- how to leftAlign Left Image button on NavBar [\\#2471](https://github.com/aksonov/react-native-router-flux/issues/2471)\n- Keyboard disappears instantly when user taps on input [\\#2442](https://github.com/aksonov/react-native-router-flux/issues/2442)\n- How to use wrapBy with Redux Store? [\\#2423](https://github.com/aksonov/react-native-router-flux/issues/2423)\n- How to quit Android App？I used BackHandler [\\#2383](https://github.com/aksonov/react-native-router-flux/issues/2383)\n- Always show backbutton, and exit app on back.  [\\#2366](https://github.com/aksonov/react-native-router-flux/issues/2366)\n- How to give new title image in parameter when navigating new scene [\\#2363](https://github.com/aksonov/react-native-router-flux/issues/2363)\n\n**Merged pull requests:**\n\n- document Tabs animationEnabled property documentation [\\#2602](https://github.com/aksonov/react-native-router-flux/pull/2602) ([wodCZ](https://github.com/wodCZ))\n- Update link for open issues in CONTRIBUTING.md [\\#2597](https://github.com/aksonov/react-native-router-flux/pull/2597) ([clucasalcantara](https://github.com/clucasalcantara))\n- Upd deps: react-navigation to beta-15, rm RN-button, upd mobx & mobx-react [\\#2584](https://github.com/aksonov/react-native-router-flux/pull/2584) ([kesha-antonov](https://github.com/kesha-antonov))\n- Fixes \\#2496 [\\#2578](https://github.com/aksonov/react-native-router-flux/pull/2578) ([raynor85](https://github.com/raynor85))\n- add \"wrapBy\"  to RouterProps [\\#2577](https://github.com/aksonov/react-native-router-flux/pull/2577) ([Deantsui](https://github.com/Deantsui))\n- bind early. For faster render [\\#2574](https://github.com/aksonov/react-native-router-flux/pull/2574) ([kesha-antonov](https://github.com/kesha-antonov))\n- Fixed Example: next screen for tab1\\_1 of Tab \\#1 [\\#2570](https://github.com/aksonov/react-native-router-flux/pull/2570) ([PhoebePan](https://github.com/PhoebePan))\n- Update API.md [\\#2569](https://github.com/aksonov/react-native-router-flux/pull/2569) ([pmitche](https://github.com/pmitche))\n- Fix drawerPosition row for Drawer table [\\#2560](https://github.com/aksonov/react-native-router-flux/pull/2560) ([etorsuarezm](https://github.com/etorsuarezm))\n- Fix typo from `havigator`  to \\*navigator\\* [\\#2559](https://github.com/aksonov/react-native-router-flux/pull/2559) ([etorsuarezm](https://github.com/etorsuarezm))\n- \\[V3\\] Update react-native-experimental-navigation to new version with PropTypes fix [\\#2541](https://github.com/aksonov/react-native-router-flux/pull/2541) ([daviscabral](https://github.com/daviscabral))\n- Add PropTypes and update dependencies to work with react 16.0.0 [\\#2532](https://github.com/aksonov/react-native-router-flux/pull/2532) ([daviscabral](https://github.com/daviscabral))\n- \\[Fix\\] Router - sceneStyle must be View.propTypes.style [\\#2522](https://github.com/aksonov/react-native-router-flux/pull/2522) ([ovr](https://github.com/ovr))\n- Support ReactNavigation's drawerWidth property [\\#2515](https://github.com/aksonov/react-native-router-flux/pull/2515) ([whitecl](https://github.com/whitecl))\n- Render back button fix [\\#2512](https://github.com/aksonov/react-native-router-flux/pull/2512) ([onrige](https://github.com/onrige))\n- Back to initial tab scene [\\#2508](https://github.com/aksonov/react-native-router-flux/pull/2508) ([onrige](https://github.com/onrige))\n- Adding some typings to index.d.ts [\\#2500](https://github.com/aksonov/react-native-router-flux/pull/2500) ([bm-software](https://github.com/bm-software))\n- Remove popAndPush action in Api [\\#2495](https://github.com/aksonov/react-native-router-flux/pull/2495) ([mackenziemance](https://github.com/mackenziemance))\n- Prevent displaying of BackButton in iOS style on Android when icon is not customized [\\#2491](https://github.com/aksonov/react-native-router-flux/pull/2491) ([davojan](https://github.com/davojan))\n\n## [4.0.0-beta.22](https://github.com/aksonov/react-native-router-flux/tree/4.0.0-beta.22) (2017-10-10)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/4.0.0-beta.21...4.0.0-beta.22)\n\n**Implemented enhancements:**\n\n- Support for custom backButton [\\#2385](https://github.com/aksonov/react-native-router-flux/issues/2385)\n- Refresh drawer [\\#2292](https://github.com/aksonov/react-native-router-flux/issues/2292)\n\n**Closed issues:**\n\n- Need to unmount component on leaving a tab [\\#2489](https://github.com/aksonov/react-native-router-flux/issues/2489)\n- How to disable  animation when I click the tabar to change the scene [\\#2484](https://github.com/aksonov/react-native-router-flux/issues/2484)\n- Dynamically show and hide tav and nav bars [\\#2478](https://github.com/aksonov/react-native-router-flux/issues/2478)\n- API Documentation is missing a definition for Actions.popTo\\(\\) [\\#2470](https://github.com/aksonov/react-native-router-flux/issues/2470)\n- popAndPush not working  [\\#2458](https://github.com/aksonov/react-native-router-flux/issues/2458)\n- renderBackButton is not working [\\#2456](https://github.com/aksonov/react-native-router-flux/issues/2456)\n- How to set Selected in \\<Scene\\> [\\#2455](https://github.com/aksonov/react-native-router-flux/issues/2455)\n- Is it possible to set title value of Scene from Actions? Actions.showComponent\\({ title }\\)? [\\#2454](https://github.com/aksonov/react-native-router-flux/issues/2454)\n- Unable to navigate to Scene with Actions.key [\\#2452](https://github.com/aksonov/react-native-router-flux/issues/2452)\n- Pressing back button not working as expected [\\#2451](https://github.com/aksonov/react-native-router-flux/issues/2451)\n- Can't hide tab icon [\\#2450](https://github.com/aksonov/react-native-router-flux/issues/2450)\n- How to create Tabbar with icon&Text [\\#2446](https://github.com/aksonov/react-native-router-flux/issues/2446)\n- Action.\\[KEY\\] not working [\\#2445](https://github.com/aksonov/react-native-router-flux/issues/2445)\n- Action.\\[SCENE\\_KEY\\] not working [\\#2444](https://github.com/aksonov/react-native-router-flux/issues/2444)\n- Closing the drawer reloads tabs and switches back to default tab [\\#2443](https://github.com/aksonov/react-native-router-flux/issues/2443)\n- There is no route defined for key key0. Must be one of: 'key3','\\< clone view key \\>' \\(nested scenes\\) [\\#2439](https://github.com/aksonov/react-native-router-flux/issues/2439)\n- Dynamically Navigate to a Scene [\\#2436](https://github.com/aksonov/react-native-router-flux/issues/2436)\n- Header title rendered wrong [\\#2433](https://github.com/aksonov/react-native-router-flux/issues/2433)\n- react-native-tab-view not working on Android when nested in a flux tab [\\#2427](https://github.com/aksonov/react-native-router-flux/issues/2427)\n- how to combine with react-native-tabs?I need to display four custo [\\#2419](https://github.com/aksonov/react-native-router-flux/issues/2419)\n- How do you get current route or scene?  [\\#2418](https://github.com/aksonov/react-native-router-flux/issues/2418)\n- Question - How can I call a function from a custom navbar back into my main component  [\\#2417](https://github.com/aksonov/react-native-router-flux/issues/2417)\n- How to make in the user \"tabBarComponent\" transitions both in the standard \"tabBar\"? [\\#2414](https://github.com/aksonov/react-native-router-flux/issues/2414)\n- How to block drawer in login page [\\#2411](https://github.com/aksonov/react-native-router-flux/issues/2411)\n- warnings on program start for every TabScene in Tabs \\(but works correctly\\) [\\#2403](https://github.com/aksonov/react-native-router-flux/issues/2403)\n- CardStackStyleInterpolator module not found [\\#2402](https://github.com/aksonov/react-native-router-flux/issues/2402)\n- I cont Exit App on Android [\\#2399](https://github.com/aksonov/react-native-router-flux/issues/2399)\n- Actions.pop\\({ popNum: number }\\) doesnt work anymore [\\#2397](https://github.com/aksonov/react-native-router-flux/issues/2397)\n- blank map using router-flux [\\#2395](https://github.com/aksonov/react-native-router-flux/issues/2395)\n- Two navbars inside root tabs if using modal [\\#2392](https://github.com/aksonov/react-native-router-flux/issues/2392)\n- Migrating RNRF v3 to RNRF v4 [\\#2381](https://github.com/aksonov/react-native-router-flux/issues/2381)\n- Lastest version, actions.key gets ReferenceError [\\#2380](https://github.com/aksonov/react-native-router-flux/issues/2380)\n- Possible Unhandled Promise Rejection \\(id: 0\\): [\\#2379](https://github.com/aksonov/react-native-router-flux/issues/2379)\n- One NavBar only for grouped Scenes [\\#2375](https://github.com/aksonov/react-native-router-flux/issues/2375)\n- Navigating when changing redux state [\\#2374](https://github.com/aksonov/react-native-router-flux/issues/2374)\n- Tabs label / text colour change [\\#2369](https://github.com/aksonov/react-native-router-flux/issues/2369)\n- Change tab programmatically [\\#2368](https://github.com/aksonov/react-native-router-flux/issues/2368)\n- Android tab bar at the bottom [\\#2365](https://github.com/aksonov/react-native-router-flux/issues/2365)\n- Disable back button from inside a scene. [\\#2362](https://github.com/aksonov/react-native-router-flux/issues/2362)\n- Call Component function from onEnter/onExit [\\#2361](https://github.com/aksonov/react-native-router-flux/issues/2361)\n- Performance issue, taking 4-5 second to pop/push screen [\\#2360](https://github.com/aksonov/react-native-router-flux/issues/2360)\n- Android hardware back button does not run onBack function [\\#2359](https://github.com/aksonov/react-native-router-flux/issues/2359)\n- Change navBar \\(navBar option\\) and toggle \\(hideNavBar option\\) dynamically doesn't work \\(via Actions.refresh\\) [\\#2357](https://github.com/aksonov/react-native-router-flux/issues/2357)\n- how to pass params while using actions.pop\\(\\) in version RNRF-3.41.0?? [\\#2355](https://github.com/aksonov/react-native-router-flux/issues/2355)\n- Can I create scenes/routes during runtime using RNRF? [\\#2354](https://github.com/aksonov/react-native-router-flux/issues/2354)\n- Change transition animation on v4 [\\#2353](https://github.com/aksonov/react-native-router-flux/issues/2353)\n- Jump to specific scene and refresh it [\\#2352](https://github.com/aksonov/react-native-router-flux/issues/2352)\n- componentWillUnmount not firing  [\\#2351](https://github.com/aksonov/react-native-router-flux/issues/2351)\n- Major issues on Android - \"There is no route defined for key key0.\"   [\\#2350](https://github.com/aksonov/react-native-router-flux/issues/2350)\n- Dynamic control tabbar display and hide [\\#2349](https://github.com/aksonov/react-native-router-flux/issues/2349)\n- Custom navBar component doesn't get custom title for a component [\\#2348](https://github.com/aksonov/react-native-router-flux/issues/2348)\n- Two Back Buttons For The Same Scene [\\#2346](https://github.com/aksonov/react-native-router-flux/issues/2346)\n- Passing props to every scene [\\#2345](https://github.com/aksonov/react-native-router-flux/issues/2345)\n- Current scene pushes over the same scene when drawer is closed on IOs [\\#2342](https://github.com/aksonov/react-native-router-flux/issues/2342)\n- \"replace\" type on Scene does not work when tabs is true [\\#2339](https://github.com/aksonov/react-native-router-flux/issues/2339)\n- Two routers, one for Main Application and one for Share application [\\#2338](https://github.com/aksonov/react-native-router-flux/issues/2338)\n- Example project error [\\#2337](https://github.com/aksonov/react-native-router-flux/issues/2337)\n- Element type is invalid: expected a string. [\\#2336](https://github.com/aksonov/react-native-router-flux/issues/2336)\n- Jump to specific scene [\\#2335](https://github.com/aksonov/react-native-router-flux/issues/2335)\n- Actions.\\[key\\] not working [\\#2334](https://github.com/aksonov/react-native-router-flux/issues/2334)\n- flux is not working with react-native swiper [\\#2333](https://github.com/aksonov/react-native-router-flux/issues/2333)\n- How to give new scene title in parameter? [\\#2332](https://github.com/aksonov/react-native-router-flux/issues/2332)\n- Load content of tab when pressing tab instead load all tabs [\\#2331](https://github.com/aksonov/react-native-router-flux/issues/2331)\n- \\[Tabs\\] How to setup initial scene as tab scene? [\\#2330](https://github.com/aksonov/react-native-router-flux/issues/2330)\n- Actions list is empty [\\#2329](https://github.com/aksonov/react-native-router-flux/issues/2329)\n- How to achieve Multi Level Menu inside Control Panel ? [\\#2327](https://github.com/aksonov/react-native-router-flux/issues/2327)\n- Best way to update custom Tabbar? [\\#2324](https://github.com/aksonov/react-native-router-flux/issues/2324)\n- App closes when pressing hardware back button [\\#2323](https://github.com/aksonov/react-native-router-flux/issues/2323)\n- V4 Documentation [\\#2322](https://github.com/aksonov/react-native-router-flux/issues/2322)\n- Cannot set tabbar position [\\#2320](https://github.com/aksonov/react-native-router-flux/issues/2320)\n- react-native-router-flux [\\#2319](https://github.com/aksonov/react-native-router-flux/issues/2319)\n- how to get previous router name?  [\\#2318](https://github.com/aksonov/react-native-router-flux/issues/2318)\n- undefined is not an object \\(evaluating '\\_reactNative.BackHandler.addEventListener'\\) [\\#2316](https://github.com/aksonov/react-native-router-flux/issues/2316)\n- Any authentication examples or tutorial\\(s\\) out there? [\\#2314](https://github.com/aksonov/react-native-router-flux/issues/2314)\n- Tab bar styling [\\#2313](https://github.com/aksonov/react-native-router-flux/issues/2313)\n- Reset Stack [\\#2312](https://github.com/aksonov/react-native-router-flux/issues/2312)\n- How to access props inside rightTitle/onRight static function? [\\#2308](https://github.com/aksonov/react-native-router-flux/issues/2308)\n- Change drawer icon  [\\#2307](https://github.com/aksonov/react-native-router-flux/issues/2307)\n- Dynamically hide tabbar [\\#2306](https://github.com/aksonov/react-native-router-flux/issues/2306)\n- Custom navBar [\\#2304](https://github.com/aksonov/react-native-router-flux/issues/2304)\n- How to make a 'navbar' a global component?  [\\#2303](https://github.com/aksonov/react-native-router-flux/issues/2303)\n- Back button does not disappear when use the 'back' property on Scene. [\\#2302](https://github.com/aksonov/react-native-router-flux/issues/2302)\n- Transition between scene with navbar and transparent navbar [\\#2301](https://github.com/aksonov/react-native-router-flux/issues/2301)\n- How to make \"navBar\" not animated, for example as \"tabBar\".  [\\#2300](https://github.com/aksonov/react-native-router-flux/issues/2300)\n- direction='vertical' doesn't work? [\\#2299](https://github.com/aksonov/react-native-router-flux/issues/2299)\n- Deep linking does not work properly [\\#2297](https://github.com/aksonov/react-native-router-flux/issues/2297)\n- Lazy property doesn't work on tab [\\#2296](https://github.com/aksonov/react-native-router-flux/issues/2296)\n- Spacing between leftButton and title on navBar [\\#2294](https://github.com/aksonov/react-native-router-flux/issues/2294)\n- \\[Lack of Docs:- Easy Example\\] Can someone please help me with side-menu \\(drawer\\)?  [\\#2291](https://github.com/aksonov/react-native-router-flux/issues/2291)\n- Where is the documentation for Overlay,Tabs,Modal,Drawer,Stack,Lightbox ??? [\\#2285](https://github.com/aksonov/react-native-router-flux/issues/2285)\n- Warning - Redux and RNRF - Cannot update during an existing state transition [\\#2253](https://github.com/aksonov/react-native-router-flux/issues/2253)\n\n**Merged pull requests:**\n\n- Update API.md [\\#2481](https://github.com/aksonov/react-native-router-flux/pull/2481) ([venits](https://github.com/venits))\n- added documentation for backButtonImage [\\#2474](https://github.com/aksonov/react-native-router-flux/pull/2474) ([mvanroon](https://github.com/mvanroon))\n- Add `hideDrawerButton` prop to Drawer [\\#2473](https://github.com/aksonov/react-native-router-flux/pull/2473) ([mvanroon](https://github.com/mvanroon))\n- Update titles of different README's [\\#2463](https://github.com/aksonov/react-native-router-flux/pull/2463) ([mvanroon](https://github.com/mvanroon))\n- Update React navigation dependency to 1.0.0-beta13 [\\#2462](https://github.com/aksonov/react-native-router-flux/pull/2462) ([compojoom](https://github.com/compojoom))\n- Update API.md [\\#2453](https://github.com/aksonov/react-native-router-flux/pull/2453) ([jaaberg](https://github.com/jaaberg))\n- Initial attempt at project typings [\\#2448](https://github.com/aksonov/react-native-router-flux/pull/2448) ([jatsrt](https://github.com/jatsrt))\n- Refresh pan handlers via Actions.refresh [\\#2424](https://github.com/aksonov/react-native-router-flux/pull/2424) ([onrige](https://github.com/onrige))\n- Fix passing down wrong overlay navigation state in OverlayNavigator [\\#2422](https://github.com/aksonov/react-native-router-flux/pull/2422) ([wsxyeah](https://github.com/wsxyeah))\n- Lock example's react-navigation version to 1.0.0-beta.11 [\\#2405](https://github.com/aksonov/react-native-router-flux/pull/2405) ([wsxyeah](https://github.com/wsxyeah))\n- Allow to hide left button via Actions.refresh [\\#2398](https://github.com/aksonov/react-native-router-flux/pull/2398) ([onrige](https://github.com/onrige))\n- Updated API Documentation & Added fix for replace Tabbed Component [\\#2364](https://github.com/aksonov/react-native-router-flux/pull/2364) ([mcabs3](https://github.com/mcabs3))\n- Add a posibility to refresh navBar and toggle it by navBar, renderNavigationBar and hideNavBar properties dynamically [\\#2358](https://github.com/aksonov/react-native-router-flux/pull/2358) ([onrige](https://github.com/onrige))\n- Added custom navbar to the project Example [\\#2341](https://github.com/aksonov/react-native-router-flux/pull/2341) ([pgonzalez-santiago](https://github.com/pgonzalez-santiago))\n- Updated Example Project [\\#2328](https://github.com/aksonov/react-native-router-flux/pull/2328) ([mcabs3](https://github.com/mcabs3))\n- Fix table in docs [\\#2326](https://github.com/aksonov/react-native-router-flux/pull/2326) ([bukerok](https://github.com/bukerok))\n- Updated API Documentation [\\#2325](https://github.com/aksonov/react-native-router-flux/pull/2325) ([mcabs3](https://github.com/mcabs3))\n- Minor fix of contributors link to work from any context [\\#2321](https://github.com/aksonov/react-native-router-flux/pull/2321) ([davojan](https://github.com/davojan))\n- Updated API docs to add missing attributes [\\#2315](https://github.com/aksonov/react-native-router-flux/pull/2315) ([mcabs3](https://github.com/mcabs3))\n- Allow changing tabBar visibility dynamically \\(e.g. via Action.refresh\\) [\\#2311](https://github.com/aksonov/react-native-router-flux/pull/2311) ([davojan](https://github.com/davojan))\n- Cleaned up Documentation and added Tabs [\\#2305](https://github.com/aksonov/react-native-router-flux/pull/2305) ([mcabs3](https://github.com/mcabs3))\n\n## [4.0.0-beta.21](https://github.com/aksonov/react-native-router-flux/tree/4.0.0-beta.21) (2017-08-28)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/4.0.0-beta.20...4.0.0-beta.21)\n\n**Closed issues:**\n\n- Click back button on device, but nothing happens. [\\#2295](https://github.com/aksonov/react-native-router-flux/issues/2295)\n\n## [4.0.0-beta.20](https://github.com/aksonov/react-native-router-flux/tree/4.0.0-beta.20) (2017-08-28)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/4.0.0-beta.19...4.0.0-beta.20)\n\n**Fixed bugs:**\n\n- In the new version of the 'tabbar' does not work the 'tabBarPosition' property [\\#2288](https://github.com/aksonov/react-native-router-flux/issues/2288)\n\n**Closed issues:**\n\n- JSON.stringify cannot serialize cyclic structures [\\#2290](https://github.com/aksonov/react-native-router-flux/issues/2290)\n- Actions.pop \\(\\) skips the scene [\\#2289](https://github.com/aksonov/react-native-router-flux/issues/2289)\n- How to remove the effect of replacing renderTitle\\(title\\) when navigating between scene? [\\#2287](https://github.com/aksonov/react-native-router-flux/issues/2287)\n- Tabs on Android are hidden and showing up  [\\#2286](https://github.com/aksonov/react-native-router-flux/issues/2286)\n- Hardware Back not working when on First Scene [\\#2283](https://github.com/aksonov/react-native-router-flux/issues/2283)\n- Main props in navigation options [\\#2282](https://github.com/aksonov/react-native-router-flux/issues/2282)\n- Reset stack with transition [\\#2236](https://github.com/aksonov/react-native-router-flux/issues/2236)\n\n## [4.0.0-beta.19](https://github.com/aksonov/react-native-router-flux/tree/4.0.0-beta.19) (2017-08-23)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/4.0.0-beta.18...4.0.0-beta.19)\n\n**Implemented enhancements:**\n\n- Multiple routers with v4? [\\#2274](https://github.com/aksonov/react-native-router-flux/issues/2274)\n- Nested scenes in v4? [\\#2220](https://github.com/aksonov/react-native-router-flux/issues/2220)\n- Access to Component's props from NavBar. [\\#2195](https://github.com/aksonov/react-native-router-flux/issues/2195)\n- IMPORTANT: v4 beta release is ready \\(v3 is not supported anymore\\) [\\#1974](https://github.com/aksonov/react-native-router-flux/issues/1974)\n\n**Fixed bugs:**\n\n- The onExit method not executes when navigating away from Scene [\\#2279](https://github.com/aksonov/react-native-router-flux/issues/2279)\n- navigationBarTitleImage not working in v4 [\\#2272](https://github.com/aksonov/react-native-router-flux/issues/2272)\n- hideNavBar issue on tabs scene [\\#2268](https://github.com/aksonov/react-native-router-flux/issues/2268)\n- Tabs v4 - Active / Inactive backgroundColor not working [\\#2263](https://github.com/aksonov/react-native-router-flux/issues/2263)\n\n**Closed issues:**\n\n- Actions state inside Drawer [\\#2280](https://github.com/aksonov/react-native-router-flux/issues/2280)\n- Android transitions not working v4-beta branch [\\#2278](https://github.com/aksonov/react-native-router-flux/issues/2278)\n- Unexpected header behavior in TabNavigation [\\#2277](https://github.com/aksonov/react-native-router-flux/issues/2277)\n- OnEnter not called for componentless scenes [\\#2275](https://github.com/aksonov/react-native-router-flux/issues/2275)\n- Custom function on tab press [\\#2271](https://github.com/aksonov/react-native-router-flux/issues/2271)\n- Massive slowdown after beta 14 [\\#2270](https://github.com/aksonov/react-native-router-flux/issues/2270)\n- How to disable swipe to back [\\#2269](https://github.com/aksonov/react-native-router-flux/issues/2269)\n- Can I set onEnter from inside the Component? [\\#2267](https://github.com/aksonov/react-native-router-flux/issues/2267)\n- \\[Error\\] The sources for assing MUST be an object.  [\\#2266](https://github.com/aksonov/react-native-router-flux/issues/2266)\n- How to open Drawer using a custom event / action within a screen [\\#2265](https://github.com/aksonov/react-native-router-flux/issues/2265)\n- Scene's key on the background of TabIcon [\\#2264](https://github.com/aksonov/react-native-router-flux/issues/2264)\n- Top nav bar customization  [\\#2262](https://github.com/aksonov/react-native-router-flux/issues/2262)\n- There is no route defined for key {route}. [\\#2261](https://github.com/aksonov/react-native-router-flux/issues/2261)\n- How to set tab bar activeBackgroundColor [\\#2260](https://github.com/aksonov/react-native-router-flux/issues/2260)\n- Please help me how to use \"react-native-router-flux\" in my scenario [\\#2259](https://github.com/aksonov/react-native-router-flux/issues/2259)\n- Issue with back button not unmounting and remount tab scene  [\\#2257](https://github.com/aksonov/react-native-router-flux/issues/2257)\n- Q:Adding button to navbar [\\#2256](https://github.com/aksonov/react-native-router-flux/issues/2256)\n- sceneStyle gets not applied [\\#2255](https://github.com/aksonov/react-native-router-flux/issues/2255)\n- Prevent certain scenes in stack from always being mounted? [\\#2254](https://github.com/aksonov/react-native-router-flux/issues/2254)\n- Custom navBar is missing in the docs [\\#2252](https://github.com/aksonov/react-native-router-flux/issues/2252)\n- titleStyle only sets backgroundcolor for small area [\\#2251](https://github.com/aksonov/react-native-router-flux/issues/2251)\n- How do you setup a background image for the entire app that is shared across different scene   [\\#2250](https://github.com/aksonov/react-native-router-flux/issues/2250)\n- Setting style for Scenes, title, ... [\\#2249](https://github.com/aksonov/react-native-router-flux/issues/2249)\n- Creating an Authenticated Scene [\\#2246](https://github.com/aksonov/react-native-router-flux/issues/2246)\n- Custom navbar example [\\#2245](https://github.com/aksonov/react-native-router-flux/issues/2245)\n- Better way to declare rightTitle/onRight inside component [\\#2244](https://github.com/aksonov/react-native-router-flux/issues/2244)\n- How do I override \\(or disable\\) hardware back press button for a given scene? [\\#2237](https://github.com/aksonov/react-native-router-flux/issues/2237)\n- How do I get into a route and clear all routes other than the first route before then? [\\#2230](https://github.com/aksonov/react-native-router-flux/issues/2230)\n- Double-tapping fires Actions twice [\\#2228](https://github.com/aksonov/react-native-router-flux/issues/2228)\n- QUESTION: How to disable swipe-back but not disable drawer-swipe [\\#2226](https://github.com/aksonov/react-native-router-flux/issues/2226)\n- Tabs with fetch not rerendering on changetab [\\#2225](https://github.com/aksonov/react-native-router-flux/issues/2225)\n- Error and warning: \"Cannot update during an existing state transition an error\", using react-native-router-flux and redux-form Field [\\#2201](https://github.com/aksonov/react-native-router-flux/issues/2201)\n- Custom animations for scenes \\(disabling transition animation\\) [\\#2042](https://github.com/aksonov/react-native-router-flux/issues/2042)\n- Disable  gesture back action   [\\#2006](https://github.com/aksonov/react-native-router-flux/issues/2006)\n\n**Merged pull requests:**\n\n- Overlay support [\\#2281](https://github.com/aksonov/react-native-router-flux/pull/2281) ([aksonov](https://github.com/aksonov))\n- Prevent React warning \\(and potential errors\\) about refs for stateless function components [\\#2258](https://github.com/aksonov/react-native-router-flux/pull/2258) ([davojan](https://github.com/davojan))\n\n## [4.0.0-beta.18](https://github.com/aksonov/react-native-router-flux/tree/4.0.0-beta.18) (2017-08-16)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/4.0.0-beta.17...4.0.0-beta.18)\n\n**Implemented enhancements:**\n\n- Improve JSX syntax for built-in containers [\\#2210](https://github.com/aksonov/react-native-router-flux/issues/2210)\n\n**Fixed bugs:**\n\n- Back button on Android always closes app [\\#2196](https://github.com/aksonov/react-native-router-flux/issues/2196)\n- \"There is no route defined for key \"a\" in beta.12-15 [\\#2189](https://github.com/aksonov/react-native-router-flux/issues/2189)\n- drawerImage does not display Image [\\#2175](https://github.com/aksonov/react-native-router-flux/issues/2175)\n\n**Closed issues:**\n\n- \\[Question\\] How to pass props to previous screen when back button pressed \\(or any other button\\)? [\\#2243](https://github.com/aksonov/react-native-router-flux/issues/2243)\n- Screen navigation is mixed up / confused. [\\#2242](https://github.com/aksonov/react-native-router-flux/issues/2242)\n- npm run build fails [\\#2240](https://github.com/aksonov/react-native-router-flux/issues/2240)\n- \\[Help Wanted\\] Is it possible to make navigation bar and tabs style like this?  [\\#2239](https://github.com/aksonov/react-native-router-flux/issues/2239)\n- \\[react-native-router-flux\\] key should be defined for \\[object Object\\] [\\#2238](https://github.com/aksonov/react-native-router-flux/issues/2238)\n- popTo hangs [\\#2234](https://github.com/aksonov/react-native-router-flux/issues/2234)\n- Hope to improve the docs for v4 and latest rnrf example [\\#2233](https://github.com/aksonov/react-native-router-flux/issues/2233)\n- Cant change background color [\\#2232](https://github.com/aksonov/react-native-router-flux/issues/2232)\n- remove bottom shadow not work [\\#2231](https://github.com/aksonov/react-native-router-flux/issues/2231)\n- Multiple navigation bars on nested \\<Scene\\> [\\#2229](https://github.com/aksonov/react-native-router-flux/issues/2229)\n- Can anyone help me with disabling back button on certain scenes? [\\#2227](https://github.com/aksonov/react-native-router-flux/issues/2227)\n- HotReload not working as expected [\\#2224](https://github.com/aksonov/react-native-router-flux/issues/2224)\n- Title moves to right for iOS [\\#2223](https://github.com/aksonov/react-native-router-flux/issues/2223)\n- Props is not properly sent down to children when using tabs [\\#2222](https://github.com/aksonov/react-native-router-flux/issues/2222)\n- onPress for \"back button\" on Android only works sometimes [\\#2221](https://github.com/aksonov/react-native-router-flux/issues/2221)\n- How to hide back button Text Label [\\#2219](https://github.com/aksonov/react-native-router-flux/issues/2219)\n- Router doesn't render over the parent element [\\#2218](https://github.com/aksonov/react-native-router-flux/issues/2218)\n- Discussion: Can a store be initiated before Rendering? [\\#2217](https://github.com/aksonov/react-native-router-flux/issues/2217)\n- v4 Tabs - reset stack on changing tab [\\#2215](https://github.com/aksonov/react-native-router-flux/issues/2215)\n- Unexpected behaviour when rendering an array of Scenes [\\#2214](https://github.com/aksonov/react-native-router-flux/issues/2214)\n- Lazy prop mount other pages which are not selected [\\#2211](https://github.com/aksonov/react-native-router-flux/issues/2211)\n- `Back` prop to Scene is not functioning properly [\\#2209](https://github.com/aksonov/react-native-router-flux/issues/2209)\n- setParams or Actions.refresh doesn't work [\\#2208](https://github.com/aksonov/react-native-router-flux/issues/2208)\n- leftButtonImage is not working [\\#2207](https://github.com/aksonov/react-native-router-flux/issues/2207)\n- How can i add gradient in background color of navbar? [\\#2206](https://github.com/aksonov/react-native-router-flux/issues/2206)\n- \\[react-native-router-flux\\] initialState should not be null [\\#2205](https://github.com/aksonov/react-native-router-flux/issues/2205)\n- V4 RenderRightButton not working when passed in Actions.refresh [\\#2204](https://github.com/aksonov/react-native-router-flux/issues/2204)\n- direction=\"vertical\" is not support? [\\#2203](https://github.com/aksonov/react-native-router-flux/issues/2203)\n- Getting Unhandled JS Exception: undefined is not an object \\(evaluating 'child.props.clone'\\) [\\#2202](https://github.com/aksonov/react-native-router-flux/issues/2202)\n- On hiding child nav bar, parent nav bar gets hidden [\\#2200](https://github.com/aksonov/react-native-router-flux/issues/2200)\n- Hardware back button doesn't close drawer menu [\\#2192](https://github.com/aksonov/react-native-router-flux/issues/2192)\n- \\[iOS, v4.0.0-beta.16\\] TabBar is above the NavBar when using tabBarPosition=\"top\" [\\#2190](https://github.com/aksonov/react-native-router-flux/issues/2190)\n- How to set NavBar above Tabs? [\\#2181](https://github.com/aksonov/react-native-router-flux/issues/2181)\n- How to hide drawer for specific scenes [\\#2142](https://github.com/aksonov/react-native-router-flux/issues/2142)\n\n**Merged pull requests:**\n\n- access to screen components via `Actions.refs` [\\#2248](https://github.com/aksonov/react-native-router-flux/pull/2248) ([aksonov](https://github.com/aksonov))\n- Fix of babel version \\(\\#2240\\) [\\#2247](https://github.com/aksonov/react-native-router-flux/pull/2247) ([davojan](https://github.com/davojan))\n- Allow 1-deep nested arrays of Scenes to support structured configuration for larger projects [\\#2241](https://github.com/aksonov/react-native-router-flux/pull/2241) ([davojan](https://github.com/davojan))\n- PopTo “loginModal” was not working in login3 scene [\\#2235](https://github.com/aksonov/react-native-router-flux/pull/2235) ([compojoom](https://github.com/compojoom))\n- Allow special characters in route keys and avoid unintuitive js parsing errors [\\#2216](https://github.com/aksonov/react-native-router-flux/pull/2216) ([davojan](https://github.com/davojan))\n- Fix 'replace' action \\(\\#2189\\) [\\#2213](https://github.com/aksonov/react-native-router-flux/pull/2213) ([aksonov](https://github.com/aksonov))\n- Install by https is more common [\\#2212](https://github.com/aksonov/react-native-router-flux/pull/2212) ([ilabacheuski](https://github.com/ilabacheuski))\n\n## [4.0.0-beta.17](https://github.com/aksonov/react-native-router-flux/tree/4.0.0-beta.17) (2017-08-08)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/4.0.0-beta.16...4.0.0-beta.17)\n\n**Fixed bugs:**\n\n- 'DrawerClose' action pushes new scene instead of just closing drawer [\\#2193](https://github.com/aksonov/react-native-router-flux/issues/2193)\n- Press Android back button immediately exit application [\\#2191](https://github.com/aksonov/react-native-router-flux/issues/2191)\n- tintColor ignored for custom left and right buttons [\\#2188](https://github.com/aksonov/react-native-router-flux/issues/2188)\n- Warning: Failed prop type: Invalid prop `scenes` of type `function` supplied to `Router`, expected a single ReactElement. [\\#2187](https://github.com/aksonov/react-native-router-flux/issues/2187)\n\n**Closed issues:**\n\n- How can I show tab inside the tab \\(Nested tabs\\)? [\\#2199](https://github.com/aksonov/react-native-router-flux/issues/2199)\n- How to achieve =\\> headerMode:\"screen\" [\\#2198](https://github.com/aksonov/react-native-router-flux/issues/2198)\n- All tab view of tabs are mounted once. [\\#2197](https://github.com/aksonov/react-native-router-flux/issues/2197)\n- back on TAB is not working when using hideTabBar and swipeEnabled={false} a on parent [\\#2186](https://github.com/aksonov/react-native-router-flux/issues/2186)\n- ComponentWillUnmount is not called when Action is triggered [\\#2185](https://github.com/aksonov/react-native-router-flux/issues/2185)\n- Icon hamburger on each scene [\\#2184](https://github.com/aksonov/react-native-router-flux/issues/2184)\n- Modal nested navigation [\\#2183](https://github.com/aksonov/react-native-router-flux/issues/2183)\n- Press Android back button immediately exit application  [\\#2182](https://github.com/aksonov/react-native-router-flux/issues/2182)\n- Redux state change in drawerchild [\\#2180](https://github.com/aksonov/react-native-router-flux/issues/2180)\n- how to change android animation direction [\\#2177](https://github.com/aksonov/react-native-router-flux/issues/2177)\n- How to use modal [\\#2173](https://github.com/aksonov/react-native-router-flux/issues/2173)\n- No option to change default indicator style color of yellow in Tab bar on android [\\#2171](https://github.com/aksonov/react-native-router-flux/issues/2171)\n- redux example - side effect warning [\\#2170](https://github.com/aksonov/react-native-router-flux/issues/2170)\n- Custom tab bar [\\#2169](https://github.com/aksonov/react-native-router-flux/issues/2169)\n- Tab bar not showing in Android  [\\#2165](https://github.com/aksonov/react-native-router-flux/issues/2165)\n- Tabbed Scene Jumping Back to first tab [\\#2164](https://github.com/aksonov/react-native-router-flux/issues/2164)\n- Is it possible to render navBar at the bottom? Also, disabling 'fade with slide' animation when entering a Scene [\\#2161](https://github.com/aksonov/react-native-router-flux/issues/2161)\n- \\(Warning\\) Multiple mobx instances running [\\#2155](https://github.com/aksonov/react-native-router-flux/issues/2155)\n\n**Merged pull requests:**\n\n- Fixes \\#2193, \\#2188, \\#2175 and general drawerImage improvement [\\#2194](https://github.com/aksonov/react-native-router-flux/pull/2194) ([aksonov](https://github.com/aksonov))\n- Fixed popTo method [\\#2179](https://github.com/aksonov/react-native-router-flux/pull/2179) ([ulentini](https://github.com/ulentini))\n\n## [4.0.0-beta.16](https://github.com/aksonov/react-native-router-flux/tree/4.0.0-beta.16) (2017-08-03)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/4.0.0-beta.15...4.0.0-beta.16)\n\n**Fixed bugs:**\n\n-  Actions.popTo not working with beta 15 and above [\\#2163](https://github.com/aksonov/react-native-router-flux/issues/2163)\n- \\[Regression\\] Jump to the same route pushes new screen \\(should be ignored\\) [\\#2152](https://github.com/aksonov/react-native-router-flux/issues/2152)\n- onEnter not being executed when using Actions.pop\\(\\) manually [\\#2147](https://github.com/aksonov/react-native-router-flux/issues/2147)\n- DrawerIcons disables DrawerImage [\\#2110](https://github.com/aksonov/react-native-router-flux/issues/2110)\n\n**Closed issues:**\n\n- react-native-web Unable to be compatible [\\#2178](https://github.com/aksonov/react-native-router-flux/issues/2178)\n- how to Dynamically setting the tabbarStyle [\\#2176](https://github.com/aksonov/react-native-router-flux/issues/2176)\n- \\[suggestion\\] modal independent of navigation [\\#2174](https://github.com/aksonov/react-native-router-flux/issues/2174)\n- popTo: Cannot read property 'toString' of undefined. [\\#2167](https://github.com/aksonov/react-native-router-flux/issues/2167)\n- Title in navigation bar is not centered in Android \\(7.0\\) [\\#2166](https://github.com/aksonov/react-native-router-flux/issues/2166)\n- Issues pushing new scene after upgrading from beta8 to beta 15 [\\#2162](https://github.com/aksonov/react-native-router-flux/issues/2162)\n- Can't read property 'router' of null \\#2049 [\\#2158](https://github.com/aksonov/react-native-router-flux/issues/2158)\n- Scene Not changing [\\#2157](https://github.com/aksonov/react-native-router-flux/issues/2157)\n- Decorators \\(MobX\\) not supported by React Native defaut Babel preset [\\#2156](https://github.com/aksonov/react-native-router-flux/issues/2156)\n- can i use it with react-redux  or  it will support redux？？ [\\#2151](https://github.com/aksonov/react-native-router-flux/issues/2151)\n- Upgrade to v4 broke - almost - everything [\\#2150](https://github.com/aksonov/react-native-router-flux/issues/2150)\n- How to make drawer navigation? [\\#2149](https://github.com/aksonov/react-native-router-flux/issues/2149)\n- header onBack bug? [\\#2146](https://github.com/aksonov/react-native-router-flux/issues/2146)\n- 4.0.0-beta.14 mobx strict-mode is enabled bug [\\#2145](https://github.com/aksonov/react-native-router-flux/issues/2145)\n- How to open drawer onPress in v4? [\\#2143](https://github.com/aksonov/react-native-router-flux/issues/2143)\n- react-native-drawer example with react-native-router-flux 4 [\\#2133](https://github.com/aksonov/react-native-router-flux/issues/2133)\n- navigationBarStyle or navTransparent and also navigationBarStyle={\\[STYLES.navBar\\]} is not working while trying to make the custom navigation bar transparent  [\\#2132](https://github.com/aksonov/react-native-router-flux/issues/2132)\n- Unable to overlay the tabbed navigation view [\\#2112](https://github.com/aksonov/react-native-router-flux/issues/2112)\n\n**Merged pull requests:**\n\n- Example: Centered title in navigation bar [\\#2172](https://github.com/aksonov/react-native-router-flux/pull/2172) ([mikaello](https://github.com/mikaello))\n- Update swipeEnabled and Etc. [\\#2168](https://github.com/aksonov/react-native-router-flux/pull/2168) ([luco](https://github.com/luco))\n- Fixes \\#2147, onExit handler [\\#2154](https://github.com/aksonov/react-native-router-flux/pull/2154) ([aksonov](https://github.com/aksonov))\n- Addresses \\#2152 [\\#2153](https://github.com/aksonov/react-native-router-flux/pull/2153) ([aksonov](https://github.com/aksonov))\n\n## [4.0.0-beta.15](https://github.com/aksonov/react-native-router-flux/tree/4.0.0-beta.15) (2017-07-30)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/4.0.0-beta.14...4.0.0-beta.15)\n\n**Implemented enhancements:**\n\n- tabicon can't get more props [\\#2129](https://github.com/aksonov/react-native-router-flux/issues/2129)\n- Increase hitSlop \\(tappable area\\) for navbar  [\\#2123](https://github.com/aksonov/react-native-router-flux/issues/2123)\n- Support of external navigation state \\(full redux support\\) [\\#2115](https://github.com/aksonov/react-native-router-flux/issues/2115)\n\n**Fixed bugs:**\n\n- \\[Question\\] renderNavigationBar alternative in v4? [\\#2130](https://github.com/aksonov/react-native-router-flux/issues/2130)\n- renderBackButton not working [\\#2124](https://github.com/aksonov/react-native-router-flux/issues/2124)\n\n**Closed issues:**\n\n- Hot to focus second tab when push tabBar Scene? [\\#2141](https://github.com/aksonov/react-native-router-flux/issues/2141)\n- React-Native-Vector-Icons for React-Native-Router-Flux TabBar [\\#2139](https://github.com/aksonov/react-native-router-flux/issues/2139)\n- Animation? [\\#2135](https://github.com/aksonov/react-native-router-flux/issues/2135)\n- Scenes inside tabs \\(switch\\) getting corrently unmounted and then incorrectly re-mounted [\\#2131](https://github.com/aksonov/react-native-router-flux/issues/2131)\n- Support for custom component for NavBar [\\#2128](https://github.com/aksonov/react-native-router-flux/issues/2128)\n- Clear history stack without route change? [\\#2127](https://github.com/aksonov/react-native-router-flux/issues/2127)\n- How to wait until the scene is refreshed? [\\#2126](https://github.com/aksonov/react-native-router-flux/issues/2126)\n- adding a custom navigation bar with a leftbutton and multiple right buttons   [\\#2125](https://github.com/aksonov/react-native-router-flux/issues/2125)\n- Back props & Android back button ? [\\#2122](https://github.com/aksonov/react-native-router-flux/issues/2122)\n- onLeft\\(\\) or onRight\\(\\) use compoent function? [\\#2121](https://github.com/aksonov/react-native-router-flux/issues/2121)\n- Does any one have an example app using RNRF & Mobx? [\\#2120](https://github.com/aksonov/react-native-router-flux/issues/2120)\n- Getting a deadly spinner [\\#2119](https://github.com/aksonov/react-native-router-flux/issues/2119)\n- How to get the Routing stack? [\\#2118](https://github.com/aksonov/react-native-router-flux/issues/2118)\n- Header not not displayed [\\#2117](https://github.com/aksonov/react-native-router-flux/issues/2117)\n- Не отображается хэдэр [\\#2116](https://github.com/aksonov/react-native-router-flux/issues/2116)\n- \\[Question\\] Share a Scene [\\#2114](https://github.com/aksonov/react-native-router-flux/issues/2114)\n- How to use wrapBy [\\#2113](https://github.com/aksonov/react-native-router-flux/issues/2113)\n- renderTitle image not shown on all device [\\#2111](https://github.com/aksonov/react-native-router-flux/issues/2111)\n- Proper way of using onEnter / success? [\\#2109](https://github.com/aksonov/react-native-router-flux/issues/2109)\n- Reset stack on enter Scene? [\\#2104](https://github.com/aksonov/react-native-router-flux/issues/2104)\n- Rotation bug. [\\#2088](https://github.com/aksonov/react-native-router-flux/issues/2088)\n\n**Merged pull requests:**\n\n- Tabicons improvement [\\#2140](https://github.com/aksonov/react-native-router-flux/pull/2140) ([aksonov](https://github.com/aksonov))\n- Fix the React.PropTypes [\\#2138](https://github.com/aksonov/react-native-router-flux/pull/2138) ([trietphan](https://github.com/trietphan))\n- Full redux support [\\#2134](https://github.com/aksonov/react-native-router-flux/pull/2134) ([aksonov](https://github.com/aksonov))\n\n## [4.0.0-beta.14](https://github.com/aksonov/react-native-router-flux/tree/4.0.0-beta.14) (2017-07-25)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/4.0.0-beta.13...4.0.0-beta.14)\n\n## [4.0.0-beta.13](https://github.com/aksonov/react-native-router-flux/tree/4.0.0-beta.13) (2017-07-25)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/4.0.0-beta.12...4.0.0-beta.13)\n\n**Implemented enhancements:**\n\n- Tabbar properties not working in V4 [\\#1996](https://github.com/aksonov/react-native-router-flux/issues/1996)\n\n**Fixed bugs:**\n\n- Drawer with drawerPosition=\"right\" has menu button on the left [\\#2087](https://github.com/aksonov/react-native-router-flux/issues/2087)\n\n**Closed issues:**\n\n- Cannot open screen in tab scene [\\#2108](https://github.com/aksonov/react-native-router-flux/issues/2108)\n- Drawer button and title alignment in Navbar v4 [\\#2107](https://github.com/aksonov/react-native-router-flux/issues/2107)\n- Can't wrap Scene or ConnectedRouter in a View  [\\#2106](https://github.com/aksonov/react-native-router-flux/issues/2106)\n- How to have a global view component like a notification bar  [\\#2105](https://github.com/aksonov/react-native-router-flux/issues/2105)\n- Drawer w/ Nested Nav and Header Issue [\\#2103](https://github.com/aksonov/react-native-router-flux/issues/2103)\n- v4 replace behaves different to v3? [\\#2102](https://github.com/aksonov/react-native-router-flux/issues/2102)\n- How to have back button on initial screen also? [\\#2101](https://github.com/aksonov/react-native-router-flux/issues/2101)\n- Example with Redux on v4 [\\#2100](https://github.com/aksonov/react-native-router-flux/issues/2100)\n- Example with MobX on v4 [\\#2099](https://github.com/aksonov/react-native-router-flux/issues/2099)\n- How to reset back stack? [\\#2098](https://github.com/aksonov/react-native-router-flux/issues/2098)\n- about example  Jump animation [\\#2097](https://github.com/aksonov/react-native-router-flux/issues/2097)\n- BackHandler remove on v3.39.1 [\\#2096](https://github.com/aksonov/react-native-router-flux/issues/2096)\n- tabBarComponent transparent background hides content [\\#2095](https://github.com/aksonov/react-native-router-flux/issues/2095)\n- hideBackImage and renderBackButton not working [\\#2093](https://github.com/aksonov/react-native-router-flux/issues/2093)\n- Drawer-Image not shown on android [\\#2092](https://github.com/aksonov/react-native-router-flux/issues/2092)\n- Action to the same route [\\#2091](https://github.com/aksonov/react-native-router-flux/issues/2091)\n- on reset complete? [\\#2090](https://github.com/aksonov/react-native-router-flux/issues/2090)\n- Question about Actions.refresh [\\#2089](https://github.com/aksonov/react-native-router-flux/issues/2089)\n- Back button does not render  [\\#2086](https://github.com/aksonov/react-native-router-flux/issues/2086)\n- tabbar icon cannot class? [\\#2085](https://github.com/aksonov/react-native-router-flux/issues/2085)\n- navTransparent Does not work [\\#2084](https://github.com/aksonov/react-native-router-flux/issues/2084)\n- Back button prop [\\#2083](https://github.com/aksonov/react-native-router-flux/issues/2083)\n- Actions.sceneKey\\({type: ActionsConst.REPLACE}\\) isn't working [\\#2082](https://github.com/aksonov/react-native-router-flux/issues/2082)\n- Using onEnter/onExit from Component [\\#2081](https://github.com/aksonov/react-native-router-flux/issues/2081)\n- Double Line in Navigation Bar for nested StackedNavigation and Title does not center in 4.0.0 [\\#2080](https://github.com/aksonov/react-native-router-flux/issues/2080)\n- Call tab nested scene from outer scene [\\#2079](https://github.com/aksonov/react-native-router-flux/issues/2079)\n- Pop with props [\\#2078](https://github.com/aksonov/react-native-router-flux/issues/2078)\n- Double navBar on nested Scenes [\\#2077](https://github.com/aksonov/react-native-router-flux/issues/2077)\n- hideTabBar sometimes doesn't work [\\#2076](https://github.com/aksonov/react-native-router-flux/issues/2076)\n- Actions.pop\\(\\) with data is not working [\\#2075](https://github.com/aksonov/react-native-router-flux/issues/2075)\n- v3 to v4 : Route 'myRoute' should declare a screen. [\\#2074](https://github.com/aksonov/react-native-router-flux/issues/2074)\n- Actions stopped working [\\#2072](https://github.com/aksonov/react-native-router-flux/issues/2072)\n- actions\\[type\\] is not a function [\\#2070](https://github.com/aksonov/react-native-router-flux/issues/2070)\n- Nested scenes not working in 4.0.0 [\\#2066](https://github.com/aksonov/react-native-router-flux/issues/2066)\n- How can I pass parameters to a tabbar's child? [\\#2065](https://github.com/aksonov/react-native-router-flux/issues/2065)\n- Cannot update during an existing state transition [\\#2063](https://github.com/aksonov/react-native-router-flux/issues/2063)\n- \\[Question\\] How to \\*really\\* upgrade from V3 to V4? [\\#2060](https://github.com/aksonov/react-native-router-flux/issues/2060)\n- Strange behavior for drawerOpen [\\#2058](https://github.com/aksonov/react-native-router-flux/issues/2058)\n- Confusion to new comer: what version shall I use? [\\#2041](https://github.com/aksonov/react-native-router-flux/issues/2041)\n- Icon not show on Android [\\#2038](https://github.com/aksonov/react-native-router-flux/issues/2038)\n- Navigation 'back' button won't render on Android for scenes with 'back' attribute. [\\#2023](https://github.com/aksonov/react-native-router-flux/issues/2023)\n- rightTitle / leftTitle   [\\#2019](https://github.com/aksonov/react-native-router-flux/issues/2019)\n\n**Merged pull requests:**\n\n- Add Scene Props and Etc [\\#2073](https://github.com/aksonov/react-native-router-flux/pull/2073) ([luco](https://github.com/luco))\n\n## [4.0.0-beta.12](https://github.com/aksonov/react-native-router-flux/tree/4.0.0-beta.12) (2017-07-19)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/4.0.0-beta.11...4.0.0-beta.12)\n\n**Closed issues:**\n\n- V4 : How to pass props to custom navBar using Action ? [\\#2069](https://github.com/aksonov/react-native-router-flux/issues/2069)\n- How can I get the routing stack [\\#2068](https://github.com/aksonov/react-native-router-flux/issues/2068)\n- How can i [\\#2064](https://github.com/aksonov/react-native-router-flux/issues/2064)\n- Lightbox not transparent [\\#2061](https://github.com/aksonov/react-native-router-flux/issues/2061)\n- popTo freezes [\\#2059](https://github.com/aksonov/react-native-router-flux/issues/2059)\n- a reference error? [\\#2057](https://github.com/aksonov/react-native-router-flux/issues/2057)\n- How do reset keep the initial page routing? [\\#2056](https://github.com/aksonov/react-native-router-flux/issues/2056)\n- How to position tab bar on bottom. v4 [\\#2054](https://github.com/aksonov/react-native-router-flux/issues/2054)\n- hideNavBar not working on android [\\#2050](https://github.com/aksonov/react-native-router-flux/issues/2050)\n- Can't read property 'router' of null [\\#2049](https://github.com/aksonov/react-native-router-flux/issues/2049)\n- Question: How to integrate with Redux on v4? [\\#2048](https://github.com/aksonov/react-native-router-flux/issues/2048)\n- scene 1 -\\> scene 2 -\\> scene 1 \\(refresh with new params\\) how? [\\#2047](https://github.com/aksonov/react-native-router-flux/issues/2047)\n- Actions.{route} not defined for nested scenes [\\#2045](https://github.com/aksonov/react-native-router-flux/issues/2045)\n- Back navigation won't work on Android [\\#2040](https://github.com/aksonov/react-native-router-flux/issues/2040)\n- Can't change backgroundColor of the app. [\\#2039](https://github.com/aksonov/react-native-router-flux/issues/2039)\n- The vertical position of navigation bar does changes while popping or pushing [\\#2037](https://github.com/aksonov/react-native-router-flux/issues/2037)\n- Custom TabBar Component in v4 [\\#2036](https://github.com/aksonov/react-native-router-flux/issues/2036)\n- Tabs mounting all components on start    [\\#2034](https://github.com/aksonov/react-native-router-flux/issues/2034)\n- Unable to change default background color of gray [\\#2033](https://github.com/aksonov/react-native-router-flux/issues/2033)\n- Color of Back Button Arrow [\\#2028](https://github.com/aksonov/react-native-router-flux/issues/2028)\n- Tabbar Navigation always goes back to the last screen [\\#2026](https://github.com/aksonov/react-native-router-flux/issues/2026)\n\n**Merged pull requests:**\n\n- Fix children scene transition props not collected [\\#2071](https://github.com/aksonov/react-native-router-flux/pull/2071) ([wsxyeah](https://github.com/wsxyeah))\n- remove trailing backtick at git clone link [\\#2067](https://github.com/aksonov/react-native-router-flux/pull/2067) ([buncismamen](https://github.com/buncismamen))\n- Add left and right button text style and tabBarComponent [\\#2055](https://github.com/aksonov/react-native-router-flux/pull/2055) ([luco](https://github.com/luco))\n- add more navbar dynamic properties [\\#2053](https://github.com/aksonov/react-native-router-flux/pull/2053) ([aksonov](https://github.com/aksonov))\n- Fix for \\#2019 - rightButton positioning on Android. [\\#2052](https://github.com/aksonov/react-native-router-flux/pull/2052) ([diegocouto](https://github.com/diegocouto))\n- Migrate to CircleCI 2.0 [\\#2046](https://github.com/aksonov/react-native-router-flux/pull/2046) ([charpeni](https://github.com/charpeni))\n- license update [\\#2044](https://github.com/aksonov/react-native-router-flux/pull/2044) ([aksonov](https://github.com/aksonov))\n- Fix for \\#2023 - Navigation 'back' button won't render on Android [\\#2043](https://github.com/aksonov/react-native-router-flux/pull/2043) ([diegocouto](https://github.com/diegocouto))\n- More docs [\\#2035](https://github.com/aksonov/react-native-router-flux/pull/2035) ([southerneer](https://github.com/southerneer))\n\n## [4.0.0-beta.11](https://github.com/aksonov/react-native-router-flux/tree/4.0.0-beta.11) (2017-07-14)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/4.0.0-beta.10...4.0.0-beta.11)\n\n## [4.0.0-beta.10](https://github.com/aksonov/react-native-router-flux/tree/4.0.0-beta.10) (2017-07-14)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/4.0.0-beta.9...4.0.0-beta.10)\n\n**Closed issues:**\n\n- Transform error with beta 9  [\\#2032](https://github.com/aksonov/react-native-router-flux/issues/2032)\n- Scene onPress doesn't work anymore? [\\#2030](https://github.com/aksonov/react-native-router-flux/issues/2030)\n- Component renders twice / showing up in nav bar twice   [\\#2024](https://github.com/aksonov/react-native-router-flux/issues/2024)\n\n## [4.0.0-beta.9](https://github.com/aksonov/react-native-router-flux/tree/4.0.0-beta.9) (2017-07-14)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/4.0.0-beta.8...4.0.0-beta.9)\n\n**Closed issues:**\n\n- Swipe back with Vertical threshold [\\#2031](https://github.com/aksonov/react-native-router-flux/issues/2031)\n- null is not an object AppNavigator.router [\\#2029](https://github.com/aksonov/react-native-router-flux/issues/2029)\n- How to update TabBar icon on V4? [\\#2027](https://github.com/aksonov/react-native-router-flux/issues/2027)\n- Cannot close Modal and Scene at once from inside of the Modal [\\#2022](https://github.com/aksonov/react-native-router-flux/issues/2022)\n- How can we show component in the TabView? [\\#2021](https://github.com/aksonov/react-native-router-flux/issues/2021)\n- Moving to a new scene pushesh navbar to the previous scene [\\#2016](https://github.com/aksonov/react-native-router-flux/issues/2016)\n- Failed at the react-native-router-flux@4.0.0-beta.7 postinstall script 'opencollective postinstall'. [\\#2008](https://github.com/aksonov/react-native-router-flux/issues/2008)\n\n**Merged pull requests:**\n\n- 4.0.0.beta.9 - WIP [\\#2025](https://github.com/aksonov/react-native-router-flux/pull/2025) ([aksonov](https://github.com/aksonov))\n\n## [4.0.0-beta.8](https://github.com/aksonov/react-native-router-flux/tree/4.0.0-beta.8) (2017-07-13)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/4.0.0-beta.7...4.0.0-beta.8)\n\n**Implemented enhancements:**\n\n- Issue popping down to root StackNavigator [\\#1987](https://github.com/aksonov/react-native-router-flux/issues/1987)\n\n**Fixed bugs:**\n\n- Navbar properties not working in v4 [\\#1991](https://github.com/aksonov/react-native-router-flux/issues/1991)\n\n**Closed issues:**\n\n- Using modal properly [\\#2020](https://github.com/aksonov/react-native-router-flux/issues/2020)\n- Constant rerendering of scenes in the stack.  [\\#2018](https://github.com/aksonov/react-native-router-flux/issues/2018)\n- actions\\[type\\] is not a function [\\#2017](https://github.com/aksonov/react-native-router-flux/issues/2017)\n- Navbar props don't affect on back button style [\\#2014](https://github.com/aksonov/react-native-router-flux/issues/2014)\n- TabBarIcon can not call class as a funtion [\\#2013](https://github.com/aksonov/react-native-router-flux/issues/2013)\n- Drawer children is not defined [\\#2011](https://github.com/aksonov/react-native-router-flux/issues/2011)\n- when i  created a WiFi hotspot,  and my tabBar  was pushed down [\\#2010](https://github.com/aksonov/react-native-router-flux/issues/2010)\n- undefined is not an ovject \\(evaluating '\\_react.PropTypes.string'\\) [\\#2009](https://github.com/aksonov/react-native-router-flux/issues/2009)\n- \\_reactNativeRouterFlux.Actions.Teams is not a function [\\#2007](https://github.com/aksonov/react-native-router-flux/issues/2007)\n- disabling panHandlers [\\#2005](https://github.com/aksonov/react-native-router-flux/issues/2005)\n- v4 Actions.popTo\\(\\) is not function   when I run Example [\\#2004](https://github.com/aksonov/react-native-router-flux/issues/2004)\n- AppNavigator.router undefined/props should be defined errors in V4 [\\#1999](https://github.com/aksonov/react-native-router-flux/issues/1999)\n\n**Merged pull requests:**\n\n- PR for beta.8 [\\#2015](https://github.com/aksonov/react-native-router-flux/pull/2015) ([aksonov](https://github.com/aksonov))\n\n## [4.0.0-beta.7](https://github.com/aksonov/react-native-router-flux/tree/4.0.0-beta.7) (2017-07-10)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/3.39.1...4.0.0-beta.7)\n\n**Implemented enhancements:**\n\n- this.props.navigationState is undefined [\\#2000](https://github.com/aksonov/react-native-router-flux/issues/2000)\n- Build v4 around 'react-navigation' - contributors wanted! [\\#1595](https://github.com/aksonov/react-native-router-flux/issues/1595)\n- Missing properties in index.d.ts for SceneProps [\\#1216](https://github.com/aksonov/react-native-router-flux/issues/1216)\n- Need to improve the example...  [\\#1189](https://github.com/aksonov/react-native-router-flux/issues/1189)\n- How can I persist router state using redux-persist? [\\#1180](https://github.com/aksonov/react-native-router-flux/issues/1180)\n- Changelog not maintained [\\#1075](https://github.com/aksonov/react-native-router-flux/issues/1075)\n- Experimental Native Navigation \\(iOS\\) [\\#1061](https://github.com/aksonov/react-native-router-flux/issues/1061)\n- Feature suggestion/request: StatusBar changes based on scene/route [\\#834](https://github.com/aksonov/react-native-router-flux/issues/834)\n- \\[Discussion\\] v4 roadmap/desired features/etc [\\#817](https://github.com/aksonov/react-native-router-flux/issues/817)\n- \\[WIP\\] Migrate to newest React Native master branch API \\(0.29?\\) [\\#815](https://github.com/aksonov/react-native-router-flux/issues/815)\n- Tapping a tab should navigate to the default scene for that scene group [\\#717](https://github.com/aksonov/react-native-router-flux/issues/717)\n- Redux replacement with reactive programming [\\#709](https://github.com/aksonov/react-native-router-flux/issues/709)\n- Any plans to support deep linking by having a url scheme? [\\#704](https://github.com/aksonov/react-native-router-flux/issues/704)\n- tab routes does not get params [\\#563](https://github.com/aksonov/react-native-router-flux/issues/563)\n- Pop back to specific scene [\\#419](https://github.com/aksonov/react-native-router-flux/issues/419)\n\n**Fixed bugs:**\n\n- Mobx enabled useStrict [\\#1994](https://github.com/aksonov/react-native-router-flux/issues/1994)\n- navigationBarTitleImage prop doesn't show image [\\#1687](https://github.com/aksonov/react-native-router-flux/issues/1687)\n- Get rid of small line between scenes [\\#1673](https://github.com/aksonov/react-native-router-flux/issues/1673)\n- Selecting current screen tab instantiates a new component [\\#1669](https://github.com/aksonov/react-native-router-flux/issues/1669)\n- Reset on tabbar not always calling componentDidMount [\\#1630](https://github.com/aksonov/react-native-router-flux/issues/1630)\n- Application crashes when using tabbar after upgrade react native 0.41 [\\#1616](https://github.com/aksonov/react-native-router-flux/issues/1616)\n- ComponentWillMount and componentWillUnmount not called if time is extremely short between Actions.push and Actions.pop [\\#1612](https://github.com/aksonov/react-native-router-flux/issues/1612)\n- POP\\_TO not working in android [\\#1235](https://github.com/aksonov/react-native-router-flux/issues/1235)\n- tab bar bug! [\\#1233](https://github.com/aksonov/react-native-router-flux/issues/1233)\n- The default NavBar prevents swipe back on Android [\\#1134](https://github.com/aksonov/react-native-router-flux/issues/1134)\n- Long titles are hidden behind the buttons [\\#1087](https://github.com/aksonov/react-native-router-flux/issues/1087)\n- Failed to build DependencyGraph: @providesModule naming collision: [\\#960](https://github.com/aksonov/react-native-router-flux/issues/960)\n- The style of navigation bar in the scene which is poping changed to white background [\\#922](https://github.com/aksonov/react-native-router-flux/issues/922)\n- drawerImage size [\\#895](https://github.com/aksonov/react-native-router-flux/issues/895)\n\n**Closed issues:**\n\n- undefined is not a function \\(evaluating '\\_reactNativeRouterFlux.Actions.create'\\) [\\#2003](https://github.com/aksonov/react-native-router-flux/issues/2003)\n- Correct way to setup tabs and drawer, showing two headers  [\\#2002](https://github.com/aksonov/react-native-router-flux/issues/2002)\n- Warning: Failed prop type: Invalid prop `children` of type `array` supplied to `Provider`, expected a single ReactElement. [\\#1998](https://github.com/aksonov/react-native-router-flux/issues/1998)\n- Example error [\\#1997](https://github.com/aksonov/react-native-router-flux/issues/1997)\n- How to use DefaultRenderer? [\\#1995](https://github.com/aksonov/react-native-router-flux/issues/1995)\n- Is it possible to pass component with props in Scene? [\\#1993](https://github.com/aksonov/react-native-router-flux/issues/1993)\n- Unhandled JS Exception: \\_reactNativeRouterFlux.Actions.create is not a function [\\#1992](https://github.com/aksonov/react-native-router-flux/issues/1992)\n- Drawer image and changing scenes [\\#1990](https://github.com/aksonov/react-native-router-flux/issues/1990)\n- Parent scene component visible in inherited scenes [\\#1988](https://github.com/aksonov/react-native-router-flux/issues/1988)\n- Unable to set animation direction [\\#1986](https://github.com/aksonov/react-native-router-flux/issues/1986)\n- TabBar Just Doesn't Show Up [\\#1985](https://github.com/aksonov/react-native-router-flux/issues/1985)\n- Trying to render any other type of tab bar leads to layout issues [\\#1984](https://github.com/aksonov/react-native-router-flux/issues/1984)\n- TabIcons focused prop [\\#1983](https://github.com/aksonov/react-native-router-flux/issues/1983)\n- Install Version 4  [\\#1982](https://github.com/aksonov/react-native-router-flux/issues/1982)\n- Global parent component for inherited scenes [\\#1981](https://github.com/aksonov/react-native-router-flux/issues/1981)\n- NavBar Title onPress action [\\#1980](https://github.com/aksonov/react-native-router-flux/issues/1980)\n- NavBar doesn't render with new scene [\\#1979](https://github.com/aksonov/react-native-router-flux/issues/1979)\n- react-native v.45.1 [\\#1977](https://github.com/aksonov/react-native-router-flux/issues/1977)\n- How to unmount component switching tab [\\#1976](https://github.com/aksonov/react-native-router-flux/issues/1976)\n- \\_reactNativeRouterFlux.Actions.create is not a function [\\#1975](https://github.com/aksonov/react-native-router-flux/issues/1975)\n- Issue with passing props to a tabbed scene [\\#1972](https://github.com/aksonov/react-native-router-flux/issues/1972)\n- componentWillUnMount [\\#1971](https://github.com/aksonov/react-native-router-flux/issues/1971)\n- Drawer left and right button image change dynamically [\\#1970](https://github.com/aksonov/react-native-router-flux/issues/1970)\n- refresh param of children of Drawer. [\\#1969](https://github.com/aksonov/react-native-router-flux/issues/1969)\n- react-native-router-flux \\(undefined is not an object ... viewPropTypes.style\\) [\\#1968](https://github.com/aksonov/react-native-router-flux/issues/1968)\n- Having Issues Properly Hooking Into Scene Change \\(FLUX\\_FOCUS\\) [\\#1967](https://github.com/aksonov/react-native-router-flux/issues/1967)\n- renderRightButton [\\#1966](https://github.com/aksonov/react-native-router-flux/issues/1966)\n- Actions.pop\\(refresh: { }\\) cannot trigger componentWillReceiveProps at children scene [\\#1965](https://github.com/aksonov/react-native-router-flux/issues/1965)\n- Multiple buttons on navbar [\\#1964](https://github.com/aksonov/react-native-router-flux/issues/1964)\n- Authentication/Unlock on AppState change [\\#1963](https://github.com/aksonov/react-native-router-flux/issues/1963)\n- Which version is the latest supporting RN0.43.1? [\\#1962](https://github.com/aksonov/react-native-router-flux/issues/1962)\n- Typescript: how to enable icon for tabbar 0.38 [\\#1961](https://github.com/aksonov/react-native-router-flux/issues/1961)\n- Command `run-android` unrecognized. Make sure that you have run `npm install` and that you are inside a react-native project. [\\#1960](https://github.com/aksonov/react-native-router-flux/issues/1960)\n- SyntaxError /node\\_modules/react-native-router-flux/src/navigationStore: Unexpected token \\(18:0\\) [\\#1959](https://github.com/aksonov/react-native-router-flux/issues/1959)\n- Dynamic status bar style [\\#1958](https://github.com/aksonov/react-native-router-flux/issues/1958)\n-  componentWillUnMount be not always get called when back [\\#1957](https://github.com/aksonov/react-native-router-flux/issues/1957)\n- How to get tabs to count towards navigation history? [\\#1956](https://github.com/aksonov/react-native-router-flux/issues/1956)\n- Tabbar tabs background color [\\#1955](https://github.com/aksonov/react-native-router-flux/issues/1955)\n- Overlap of header and tab bar [\\#1954](https://github.com/aksonov/react-native-router-flux/issues/1954)\n- componentDidMount not always get called in Tabs [\\#1953](https://github.com/aksonov/react-native-router-flux/issues/1953)\n- Styling navBar into component? Is it possible [\\#1952](https://github.com/aksonov/react-native-router-flux/issues/1952)\n- v4 proof-of-concept Example \\(WIP\\) [\\#1951](https://github.com/aksonov/react-native-router-flux/issues/1951)\n- Swipe back is not working  [\\#1950](https://github.com/aksonov/react-native-router-flux/issues/1950)\n- How to overlay RNRF Header & Footer with a FAB backdrop's props component [\\#1949](https://github.com/aksonov/react-native-router-flux/issues/1949)\n- Can I add a button to the navbar? [\\#1948](https://github.com/aksonov/react-native-router-flux/issues/1948)\n- unknown blue color bar is appeared below the navbar on changing mobile orientation from Vertical to Horizontal [\\#1947](https://github.com/aksonov/react-native-router-flux/issues/1947)\n- UNMET PEER DEPENDENCY when attempting to install with react-native 0.45.1 [\\#1946](https://github.com/aksonov/react-native-router-flux/issues/1946)\n- it  will refresh when i click the tabbar twice  [\\#1945](https://github.com/aksonov/react-native-router-flux/issues/1945)\n- How to disable Navigation transition [\\#1944](https://github.com/aksonov/react-native-router-flux/issues/1944)\n- How to create custom navigation bar [\\#1943](https://github.com/aksonov/react-native-router-flux/issues/1943)\n- Non-geographical maps support [\\#1942](https://github.com/aksonov/react-native-router-flux/issues/1942)\n- Navigation bar flashes on start [\\#1941](https://github.com/aksonov/react-native-router-flux/issues/1941)\n- How to get title in Custom Header ? [\\#1940](https://github.com/aksonov/react-native-router-flux/issues/1940)\n- App crashes with message \"Unhandled JS Exception: Native module cannot be null\" [\\#1937](https://github.com/aksonov/react-native-router-flux/issues/1937)\n- why not provide onDidFocus prop for Scene [\\#1936](https://github.com/aksonov/react-native-router-flux/issues/1936)\n- \\[Android\\] Custom header is overlaid with statusbar [\\#1934](https://github.com/aksonov/react-native-router-flux/issues/1934)\n- Cannot read property style of undefined? [\\#1933](https://github.com/aksonov/react-native-router-flux/issues/1933)\n- direction: vertical why only from down to top? [\\#1932](https://github.com/aksonov/react-native-router-flux/issues/1932)\n- renderRightButton throw this.function is not a function [\\#1931](https://github.com/aksonov/react-native-router-flux/issues/1931)\n- SceneView warning when upgrading to RN 0.45 [\\#1929](https://github.com/aksonov/react-native-router-flux/issues/1929)\n- Persist last scene using React Native Router Flux and Tabbar [\\#1928](https://github.com/aksonov/react-native-router-flux/issues/1928)\n- Feature Request: Move scene props in routes reducer to a `props` object [\\#1927](https://github.com/aksonov/react-native-router-flux/issues/1927)\n- Cannot read property 'style' of undefined [\\#1926](https://github.com/aksonov/react-native-router-flux/issues/1926)\n- how change in tabs tigger event on Component when second Switch？ [\\#1925](https://github.com/aksonov/react-native-router-flux/issues/1925)\n- Set initial scene dynamically on runtime [\\#1924](https://github.com/aksonov/react-native-router-flux/issues/1924)\n- How to refresh a scene that is not currently the active scene [\\#1923](https://github.com/aksonov/react-native-router-flux/issues/1923)\n- Is there a way to remove/delete/clear all scenes which added before? [\\#1922](https://github.com/aksonov/react-native-router-flux/issues/1922)\n- When using renderRightButton/renderLeftButton the style aren't taken in account [\\#1920](https://github.com/aksonov/react-native-router-flux/issues/1920)\n- \\[Question\\] Why use this instead of react-community/react-navigation? [\\#1919](https://github.com/aksonov/react-native-router-flux/issues/1919)\n- \\[Question\\] Before route change event [\\#1917](https://github.com/aksonov/react-native-router-flux/issues/1917)\n- navigationBarTitleImage won't display [\\#1916](https://github.com/aksonov/react-native-router-flux/issues/1916)\n- Navigation Component re-mounts when app is re-entered on android [\\#1915](https://github.com/aksonov/react-native-router-flux/issues/1915)\n- Change back button icon  to menu   [\\#1914](https://github.com/aksonov/react-native-router-flux/issues/1914)\n- Navigation stack is reset when I go to new tab and back again [\\#1913](https://github.com/aksonov/react-native-router-flux/issues/1913)\n- How to listen Actions.pop\\(\\) in the previous scene ? [\\#1912](https://github.com/aksonov/react-native-router-flux/issues/1912)\n- Router does not work if not in root [\\#1911](https://github.com/aksonov/react-native-router-flux/issues/1911)\n- Fixed element on all screens [\\#1910](https://github.com/aksonov/react-native-router-flux/issues/1910)\n- Custom Tabbar Android setting width is cut off [\\#1909](https://github.com/aksonov/react-native-router-flux/issues/1909)\n- Customer navbar pop when calling Actions.pop\\(\\) [\\#1908](https://github.com/aksonov/react-native-router-flux/issues/1908)\n- Custom animations ... how to do that ? [\\#1907](https://github.com/aksonov/react-native-router-flux/issues/1907)\n- Access tab props  [\\#1906](https://github.com/aksonov/react-native-router-flux/issues/1906)\n- Change tabbar button behaviour on second press [\\#1905](https://github.com/aksonov/react-native-router-flux/issues/1905)\n- No support for latest 16.0.0 alpha version [\\#1904](https://github.com/aksonov/react-native-router-flux/issues/1904)\n- Has `AccessibilityInfo` Error when build ios [\\#1903](https://github.com/aksonov/react-native-router-flux/issues/1903)\n- Menu Icon appears only for Initial Scene [\\#1902](https://github.com/aksonov/react-native-router-flux/issues/1902)\n- Naming Collision Issue \\(solution inside\\) [\\#1901](https://github.com/aksonov/react-native-router-flux/issues/1901)\n- how to get current top route or a route has navigated back? [\\#1899](https://github.com/aksonov/react-native-router-flux/issues/1899)\n- Use react-native-elements \\<Icon /\\> in header buttons [\\#1898](https://github.com/aksonov/react-native-router-flux/issues/1898)\n- The action to change the scene pushes a different scene [\\#1897](https://github.com/aksonov/react-native-router-flux/issues/1897)\n- How to insert a newline to Title [\\#1896](https://github.com/aksonov/react-native-router-flux/issues/1896)\n- How can I jump the page like this? [\\#1895](https://github.com/aksonov/react-native-router-flux/issues/1895)\n- not an object \\(\\_reactNative.BackHandler.addEventListener\\) [\\#1894](https://github.com/aksonov/react-native-router-flux/issues/1894)\n- BUG: Actions.pop with popNum failed [\\#1893](https://github.com/aksonov/react-native-router-flux/issues/1893)\n- No errors when I forget to specify the component property in \\<Scene\\> [\\#1890](https://github.com/aksonov/react-native-router-flux/issues/1890)\n- \\[question\\] track ending animation of route change [\\#1889](https://github.com/aksonov/react-native-router-flux/issues/1889)\n- react-native 0.44.0 update error; no such file or directory: AccessibilityInfo.ios.js [\\#1887](https://github.com/aksonov/react-native-router-flux/issues/1887)\n- undefined is not a function \\(evaluating 'fetch\\('apiurl'\\)'\\) [\\#1886](https://github.com/aksonov/react-native-router-flux/issues/1886)\n- Re-render the old scene and the new scene on push/pop [\\#1884](https://github.com/aksonov/react-native-router-flux/issues/1884)\n- Go to root scene ? It is possible to remove all screen from the memory and go the root scene  [\\#1883](https://github.com/aksonov/react-native-router-flux/issues/1883)\n- how to combine side menu bar?? [\\#1882](https://github.com/aksonov/react-native-router-flux/issues/1882)\n-  I'm looking for real 'native-looking' iOS transitions, but still unsuccessfully. I hope can Realize it。thank you very  much [\\#1881](https://github.com/aksonov/react-native-router-flux/issues/1881)\n- React native with redux REPLACE and RESET not working [\\#1880](https://github.com/aksonov/react-native-router-flux/issues/1880)\n- Animate Same Scene Transition [\\#1879](https://github.com/aksonov/react-native-router-flux/issues/1879)\n- Side menu is visible when changing pages/ going to the previous page on android  [\\#1878](https://github.com/aksonov/react-native-router-flux/issues/1878)\n- Back button action [\\#1877](https://github.com/aksonov/react-native-router-flux/issues/1877)\n- Apple tv compatibility [\\#1876](https://github.com/aksonov/react-native-router-flux/issues/1876)\n- A question about Actions.pop\\({refresh: {...}}\\) [\\#1875](https://github.com/aksonov/react-native-router-flux/issues/1875)\n- Passing props to scenes [\\#1873](https://github.com/aksonov/react-native-router-flux/issues/1873)\n- \\[question\\] how to change in tabs without reload scene [\\#1872](https://github.com/aksonov/react-native-router-flux/issues/1872)\n- Focus not being dispatched when changing scene [\\#1871](https://github.com/aksonov/react-native-router-flux/issues/1871)\n- Scenes inside tabs \\(switch\\) getting corrently unmounted and then incorrectly re-mounted [\\#1870](https://github.com/aksonov/react-native-router-flux/issues/1870)\n- Handling the Android hardware back scene popping in chronological order [\\#1869](https://github.com/aksonov/react-native-router-flux/issues/1869)\n- `-- UNMET PEER DEPENDENCY react@15.5.4 [\\#1868](https://github.com/aksonov/react-native-router-flux/issues/1868)\n- \\[Urgent\\] How to get CurrentScene? [\\#1867](https://github.com/aksonov/react-native-router-flux/issues/1867)\n- Removed react-native-router-flux but still getting error [\\#1866](https://github.com/aksonov/react-native-router-flux/issues/1866)\n- Modal. Type should not be null.  [\\#1865](https://github.com/aksonov/react-native-router-flux/issues/1865)\n- Cannot read property 'component' of undefined [\\#1864](https://github.com/aksonov/react-native-router-flux/issues/1864)\n- Can't open scene with params, still open without [\\#1863](https://github.com/aksonov/react-native-router-flux/issues/1863)\n- Android assemble cannot package [\\#1861](https://github.com/aksonov/react-native-router-flux/issues/1861)\n- undefined is not an object \\_reactNative.NavigationExperimental.CardStack \\(NavigationExperimental deprecated\\) [\\#1860](https://github.com/aksonov/react-native-router-flux/issues/1860)\n- Can not go to container Scene [\\#1859](https://github.com/aksonov/react-native-router-flux/issues/1859)\n- Wrong CurrentRoute \\(scene\\) on ActionConst.FOCUS [\\#1858](https://github.com/aksonov/react-native-router-flux/issues/1858)\n- Switch shows first item for a while [\\#1857](https://github.com/aksonov/react-native-router-flux/issues/1857)\n- RCTConvert CATransform3D warning on transitioning between scenes [\\#1856](https://github.com/aksonov/react-native-router-flux/issues/1856)\n- Back to tab Scene not work! [\\#1855](https://github.com/aksonov/react-native-router-flux/issues/1855)\n- Navbar is unmounted and mounted with every scene transition [\\#1854](https://github.com/aksonov/react-native-router-flux/issues/1854)\n- Where can you detect scene changes to throw up an error before the scene changes if the page is not valid? [\\#1853](https://github.com/aksonov/react-native-router-flux/issues/1853)\n- Which component method gets called when pop is called? [\\#1852](https://github.com/aksonov/react-native-router-flux/issues/1852)\n- Scene Animation [\\#1851](https://github.com/aksonov/react-native-router-flux/issues/1851)\n- \\_reactNativeRouterFlux.Actions.xxx is not a function in Android  [\\#1850](https://github.com/aksonov/react-native-router-flux/issues/1850)\n- EventPluginUtils.getLowestCommonAncestor not a function error [\\#1849](https://github.com/aksonov/react-native-router-flux/issues/1849)\n- Android back soft button on navigation bar removes tab [\\#1848](https://github.com/aksonov/react-native-router-flux/issues/1848)\n- Bundling error [\\#1847](https://github.com/aksonov/react-native-router-flux/issues/1847)\n- Navigate to an other page error undefined is not object  [\\#1846](https://github.com/aksonov/react-native-router-flux/issues/1846)\n- Drawerlayout android, openDrawer [\\#1845](https://github.com/aksonov/react-native-router-flux/issues/1845)\n- Is it possible to create dynamic tabbar icon,title which listens redux state? [\\#1844](https://github.com/aksonov/react-native-router-flux/issues/1844)\n- Warning: BackAndroid is deprecated.  Please use BackHandler instead. [\\#1842](https://github.com/aksonov/react-native-router-flux/issues/1842)\n- Using it with React-native-Tab-View \\(question\\)  [\\#1841](https://github.com/aksonov/react-native-router-flux/issues/1841)\n- conflict react-native version with your router-flux dependencies's react-native version 0.41.2 [\\#1839](https://github.com/aksonov/react-native-router-flux/issues/1839)\n- Actions.currentRouter.currentRoute throwing 'undefined is not an object' [\\#1836](https://github.com/aksonov/react-native-router-flux/issues/1836)\n- Help: Cannot resolve symbol Actions [\\#1835](https://github.com/aksonov/react-native-router-flux/issues/1835)\n- How can I use refs to active scene component from Outer Component  [\\#1834](https://github.com/aksonov/react-native-router-flux/issues/1834)\n- How can I position an overlay layer on top of the navbar? [\\#1833](https://github.com/aksonov/react-native-router-flux/issues/1833)\n- No dimension set for key window [\\#1832](https://github.com/aksonov/react-native-router-flux/issues/1832)\n- jsc-heap-capture name collision [\\#1830](https://github.com/aksonov/react-native-router-flux/issues/1830)\n- Need all  {renderBackButton\\(navProps\\)}   {renderLeftButton\\(navProps\\)} {renderRightButton\\(navProps\\)} for Nav bar [\\#1829](https://github.com/aksonov/react-native-router-flux/issues/1829)\n- RecyclerViewBackedScrollView - unable to resolve module [\\#1828](https://github.com/aksonov/react-native-router-flux/issues/1828)\n- My scene is not unmount [\\#1825](https://github.com/aksonov/react-native-router-flux/issues/1825)\n- Sometimes iOS statusbar disappears? [\\#1824](https://github.com/aksonov/react-native-router-flux/issues/1824)\n- Double touch TabIcon will remount the page [\\#1823](https://github.com/aksonov/react-native-router-flux/issues/1823)\n- @providesModule naming collision error after installing react-native-router-flux [\\#1816](https://github.com/aksonov/react-native-router-flux/issues/1816)\n- Conditional first scene rendering with redux. [\\#1814](https://github.com/aksonov/react-native-router-flux/issues/1814)\n- reactNativeRouterFlux.Actions.xxx is not a function [\\#1813](https://github.com/aksonov/react-native-router-flux/issues/1813)\n- ERROR: UNMET PEER DEPENDENCY react@15.5.4 [\\#1811](https://github.com/aksonov/react-native-router-flux/issues/1811)\n- Snapshot test error because of react-native-router-flux [\\#1810](https://github.com/aksonov/react-native-router-flux/issues/1810)\n-  Duplicate module name: react-native-packager [\\#1809](https://github.com/aksonov/react-native-router-flux/issues/1809)\n- Accessing PropTypes via the main React package is deprecated. Use the prop-types package from npm instead. [\\#1807](https://github.com/aksonov/react-native-router-flux/issues/1807)\n- Can we make a release? [\\#1804](https://github.com/aksonov/react-native-router-flux/issues/1804)\n- Duplicate versions of react-native being installed [\\#1803](https://github.com/aksonov/react-native-router-flux/issues/1803)\n- \\[Question\\] Best way to implement \"onLeft\\(\\)\" and \"onRight\\(\\)\" logic inside the scene's component [\\#1802](https://github.com/aksonov/react-native-router-flux/issues/1802)\n- From Nested Scene To Other Nested Scene Navigate [\\#1801](https://github.com/aksonov/react-native-router-flux/issues/1801)\n- Using a custom onBack callback it doesnt called by android back button [\\#1800](https://github.com/aksonov/react-native-router-flux/issues/1800)\n- popTo initial scene visibly shows scenes in between as well [\\#1799](https://github.com/aksonov/react-native-router-flux/issues/1799)\n- resetTo and immediatelyResetRouteStack action types [\\#1798](https://github.com/aksonov/react-native-router-flux/issues/1798)\n- NavigationDrawer wrong behavior on the Example app [\\#1795](https://github.com/aksonov/react-native-router-flux/issues/1795)\n- Tabs don't render when passing scenes prop into Router [\\#1793](https://github.com/aksonov/react-native-router-flux/issues/1793)\n- Help me plz: navbar render not correct [\\#1792](https://github.com/aksonov/react-native-router-flux/issues/1792)\n- Incorrect screens render [\\#1791](https://github.com/aksonov/react-native-router-flux/issues/1791)\n- Modal Stuck Open, can't Actions.pop\\(\\) [\\#1789](https://github.com/aksonov/react-native-router-flux/issues/1789)\n- Style property 'left' is not supported by native animated module [\\#1787](https://github.com/aksonov/react-native-router-flux/issues/1787)\n- When using Switch, unmountScenes disables child tabs in v3.38.0 [\\#1786](https://github.com/aksonov/react-native-router-flux/issues/1786)\n- Actions.pop\\(\\) doesn't work when pushing same scene over itself with different props [\\#1785](https://github.com/aksonov/react-native-router-flux/issues/1785)\n- is it possible to render modal, from the action inside of another modal [\\#1784](https://github.com/aksonov/react-native-router-flux/issues/1784)\n- New Screen is presented behind Modal [\\#1783](https://github.com/aksonov/react-native-router-flux/issues/1783)\n- react-addons-pure-render-mixin not found [\\#1780](https://github.com/aksonov/react-native-router-flux/issues/1780)\n- Make switch selector accept a promise! [\\#1779](https://github.com/aksonov/react-native-router-flux/issues/1779)\n- this.props.position.interpolate is not a function [\\#1777](https://github.com/aksonov/react-native-router-flux/issues/1777)\n- Router's sceneStyle gets applied to header within a Drawer wrapper [\\#1774](https://github.com/aksonov/react-native-router-flux/issues/1774)\n- \\[HowTo\\] Dynamic hide/show NavBar [\\#1773](https://github.com/aksonov/react-native-router-flux/issues/1773)\n- Nested Navigators [\\#1771](https://github.com/aksonov/react-native-router-flux/issues/1771)\n- Multiple screens in a tab [\\#1770](https://github.com/aksonov/react-native-router-flux/issues/1770)\n- Action.pop: Refresh only a specific section in render [\\#1768](https://github.com/aksonov/react-native-router-flux/issues/1768)\n- hideNavBar on iOS problem [\\#1764](https://github.com/aksonov/react-native-router-flux/issues/1764)\n- How can I access state within renderNavigationBar? [\\#1763](https://github.com/aksonov/react-native-router-flux/issues/1763)\n- Swipe back gesture  [\\#1762](https://github.com/aksonov/react-native-router-flux/issues/1762)\n- Error with the latest version of React Native 0.43.0 [\\#1761](https://github.com/aksonov/react-native-router-flux/issues/1761)\n- Can Actions.SCENE\\_NAME\\({type: replace | reset}\\) not remove transition animations  [\\#1760](https://github.com/aksonov/react-native-router-flux/issues/1760)\n- Warning to define onRight method gets raised regardless  [\\#1757](https://github.com/aksonov/react-native-router-flux/issues/1757)\n- Question: How to detect the \"pop\"-Action on a pushed scene? [\\#1755](https://github.com/aksonov/react-native-router-flux/issues/1755)\n- close modal and a scene by once [\\#1754](https://github.com/aksonov/react-native-router-flux/issues/1754)\n- direction and type do not work together [\\#1753](https://github.com/aksonov/react-native-router-flux/issues/1753)\n- Scene component and navBar do not work together [\\#1752](https://github.com/aksonov/react-native-router-flux/issues/1752)\n- I have Query Can anyone Help me ?? [\\#1751](https://github.com/aksonov/react-native-router-flux/issues/1751)\n- Help With Drawer Menu [\\#1750](https://github.com/aksonov/react-native-router-flux/issues/1750)\n- Intercept Navigation.pop\\(\\) [\\#1749](https://github.com/aksonov/react-native-router-flux/issues/1749)\n- Is Actions.dismiss\\(\\) no longer a thing? [\\#1747](https://github.com/aksonov/react-native-router-flux/issues/1747)\n- Configuring Initial scene view through router tag [\\#1746](https://github.com/aksonov/react-native-router-flux/issues/1746)\n- Back button and fetching data [\\#1745](https://github.com/aksonov/react-native-router-flux/issues/1745)\n- Can't Pass Class to renderLeftButton [\\#1743](https://github.com/aksonov/react-native-router-flux/issues/1743)\n- Close Modal and redirect to another scene only works once [\\#1741](https://github.com/aksonov/react-native-router-flux/issues/1741)\n- \\[Help me\\] fixed bottom player like Apple Music all scene [\\#1740](https://github.com/aksonov/react-native-router-flux/issues/1740)\n- How to share same component across views without redeclaring it ? [\\#1737](https://github.com/aksonov/react-native-router-flux/issues/1737)\n- How can I run example app? [\\#1736](https://github.com/aksonov/react-native-router-flux/issues/1736)\n- Shared Element Transitions? [\\#1735](https://github.com/aksonov/react-native-router-flux/issues/1735)\n- Android hardware back button not working after Actions.main\\({type: 'replace'}\\) [\\#1734](https://github.com/aksonov/react-native-router-flux/issues/1734)\n- redirect from sub-scene  [\\#1733](https://github.com/aksonov/react-native-router-flux/issues/1733)\n- Calling Action.pop and redux change after each other [\\#1732](https://github.com/aksonov/react-native-router-flux/issues/1732)\n- Root Component that wrap all routes [\\#1730](https://github.com/aksonov/react-native-router-flux/issues/1730)\n- Action.refresh\\(\\) for Switch in Example does not work [\\#1729](https://github.com/aksonov/react-native-router-flux/issues/1729)\n- How to disable Swipe-Down-To-Close at modal or just close when not scrolled [\\#1728](https://github.com/aksonov/react-native-router-flux/issues/1728)\n- How to add two Actions to a Button ?  [\\#1727](https://github.com/aksonov/react-native-router-flux/issues/1727)\n- tabs re-rendering when switching in 3.38.0 [\\#1725](https://github.com/aksonov/react-native-router-flux/issues/1725)\n- rightTitle-Attribute on a specific scene renders the right title also on ALL other scenes. [\\#1724](https://github.com/aksonov/react-native-router-flux/issues/1724)\n- How to open scene with Drawer? [\\#1723](https://github.com/aksonov/react-native-router-flux/issues/1723)\n- How can I retain parent navbar when switching tabs? [\\#1722](https://github.com/aksonov/react-native-router-flux/issues/1722)\n- How to automatically display the return title [\\#1721](https://github.com/aksonov/react-native-router-flux/issues/1721)\n- How to navigate to specific tab with resetting [\\#1719](https://github.com/aksonov/react-native-router-flux/issues/1719)\n- remove animation on back/close transition with duration={1} \\(NOT working\\) [\\#1718](https://github.com/aksonov/react-native-router-flux/issues/1718)\n- \\[Topic\\]Navigator perform slowly and NavigationExperimental will be deprecated in RN0.43 [\\#1717](https://github.com/aksonov/react-native-router-flux/issues/1717)\n- pop back and trigger another callback [\\#1716](https://github.com/aksonov/react-native-router-flux/issues/1716)\n- Gesture threshold problem [\\#1715](https://github.com/aksonov/react-native-router-flux/issues/1715)\n- action.pop\\(\\) is used at the same time previous page are refreshed [\\#1713](https://github.com/aksonov/react-native-router-flux/issues/1713)\n- Tabbar gesture back displaying wrong scene in the background [\\#1711](https://github.com/aksonov/react-native-router-flux/issues/1711)\n- Remove `react-static-container` dependency [\\#1710](https://github.com/aksonov/react-native-router-flux/issues/1710)\n- How to render initial or RESET/REPLACE scenes with animation? [\\#1709](https://github.com/aksonov/react-native-router-flux/issues/1709)\n- When going from tab to tab, how do I get the previous tab? [\\#1707](https://github.com/aksonov/react-native-router-flux/issues/1707)\n- Unable to resolve module react-native-router-flux [\\#1706](https://github.com/aksonov/react-native-router-flux/issues/1706)\n- Router createReducer and reducer confusion [\\#1704](https://github.com/aksonov/react-native-router-flux/issues/1704)\n- Prevent Tab Press from popping to Initial Scene [\\#1703](https://github.com/aksonov/react-native-router-flux/issues/1703)\n- How to combine Router and navigation Drawer? [\\#1702](https://github.com/aksonov/react-native-router-flux/issues/1702)\n- Cannot read property 'hideTabBar' of undefined [\\#1701](https://github.com/aksonov/react-native-router-flux/issues/1701)\n- render is overlapping with previous screen data [\\#1700](https://github.com/aksonov/react-native-router-flux/issues/1700)\n- Question: Using React Native Material Icon for Navigation Bar \\(left, right, and back buttons\\) [\\#1699](https://github.com/aksonov/react-native-router-flux/issues/1699)\n- Can't run Example: Print: Entry, \":CFBundleIdentifier\", Does Not Exist [\\#1698](https://github.com/aksonov/react-native-router-flux/issues/1698)\n- Nested tab scene causes navigation to break [\\#1697](https://github.com/aksonov/react-native-router-flux/issues/1697)\n- Switching between animated scenes eventually grinds Android to a halt [\\#1696](https://github.com/aksonov/react-native-router-flux/issues/1696)\n- Can't go back using Swipe left if the actual scene contains an Animated.View. [\\#1693](https://github.com/aksonov/react-native-router-flux/issues/1693)\n- Screen disappears after screen orientation rotation and subsequently crashes [\\#1677](https://github.com/aksonov/react-native-router-flux/issues/1677)\n- Actions.pop\\({ key: 'scene' }\\) should be documented [\\#1676](https://github.com/aksonov/react-native-router-flux/issues/1676)\n- Questions about callback [\\#1656](https://github.com/aksonov/react-native-router-flux/issues/1656)\n- Add interactive / gif demo and examples [\\#1654](https://github.com/aksonov/react-native-router-flux/issues/1654)\n- Crashing on Actions.pop\\(\\) on android [\\#1636](https://github.com/aksonov/react-native-router-flux/issues/1636)\n- \\[Documentation\\] Add screenshots of differents Tab/Nav/Drawer [\\#1628](https://github.com/aksonov/react-native-router-flux/issues/1628)\n- Swiping a direction=\"vertical\" Scene down only by its header or custom component [\\#1605](https://github.com/aksonov/react-native-router-flux/issues/1605)\n- Route pushing not behaving as expected [\\#1602](https://github.com/aksonov/react-native-router-flux/issues/1602)\n- \\[documentation\\] Give more technical information about the navigation types [\\#1601](https://github.com/aksonov/react-native-router-flux/issues/1601)\n- NavBar from previous Scene comes from left to right after closing Modal. [\\#1600](https://github.com/aksonov/react-native-router-flux/issues/1600)\n- Incorrect FOCUS actions being dispatched for tabs [\\#1597](https://github.com/aksonov/react-native-router-flux/issues/1597)\n- Custom navBar examples and docs [\\#1596](https://github.com/aksonov/react-native-router-flux/issues/1596)\n- `popTo` and other pop actions modify the behaviour of subsequent actions [\\#1594](https://github.com/aksonov/react-native-router-flux/issues/1594)\n- Snapchat like navigation with swipe [\\#1593](https://github.com/aksonov/react-native-router-flux/issues/1593)\n- auth [\\#1591](https://github.com/aksonov/react-native-router-flux/issues/1591)\n- Objects are not valid as a React child [\\#1589](https://github.com/aksonov/react-native-router-flux/issues/1589)\n- Nested navigators in tabbars [\\#1587](https://github.com/aksonov/react-native-router-flux/issues/1587)\n- Question: How to add a scene to the stack without actually visiting it? [\\#1583](https://github.com/aksonov/react-native-router-flux/issues/1583)\n- Scene.key conflicts with `PUSH` and `JUMP` with Tabbar [\\#1582](https://github.com/aksonov/react-native-router-flux/issues/1582)\n- Cannot Style Tabs Text Component [\\#1581](https://github.com/aksonov/react-native-router-flux/issues/1581)\n- Pop action difference between Android and iOS [\\#1578](https://github.com/aksonov/react-native-router-flux/issues/1578)\n- How can I position a view to be on top of the navbar? [\\#1575](https://github.com/aksonov/react-native-router-flux/issues/1575)\n- Showing Spinner view using react-native-router [\\#1574](https://github.com/aksonov/react-native-router-flux/issues/1574)\n- Is it possible to use the tabbar like Facebook ? [\\#1573](https://github.com/aksonov/react-native-router-flux/issues/1573)\n- Docs Error: Missing Parenthesis? [\\#1572](https://github.com/aksonov/react-native-router-flux/issues/1572)\n- \\[ANDROID\\] Pop modal doesnt remove itself from screen [\\#1571](https://github.com/aksonov/react-native-router-flux/issues/1571)\n- Tabbar sometimes is pushed up by the keyboard. [\\#1569](https://github.com/aksonov/react-native-router-flux/issues/1569)\n- Switch does focus first tab and only then jumps to required tab [\\#1568](https://github.com/aksonov/react-native-router-flux/issues/1568)\n- iOS Nav Bar fail to refresh on tab change [\\#1567](https://github.com/aksonov/react-native-router-flux/issues/1567)\n- master-detail example [\\#1565](https://github.com/aksonov/react-native-router-flux/issues/1565)\n- Drawer just in first page [\\#1563](https://github.com/aksonov/react-native-router-flux/issues/1563)\n- \\[question\\] Reset a tab routes while on another tab [\\#1562](https://github.com/aksonov/react-native-router-flux/issues/1562)\n- After that history stack reset in tab bar, other tabs are not visible [\\#1560](https://github.com/aksonov/react-native-router-flux/issues/1560)\n- \\[question\\] How to layout tab scenes to get animation? [\\#1558](https://github.com/aksonov/react-native-router-flux/issues/1558)\n- Dynamic changing title tabbar [\\#1557](https://github.com/aksonov/react-native-router-flux/issues/1557)\n- Navigation Bar: Back button NoStyling [\\#1556](https://github.com/aksonov/react-native-router-flux/issues/1556)\n- Right text tilte is not center aligned [\\#1555](https://github.com/aksonov/react-native-router-flux/issues/1555)\n- hideNavBar does not work [\\#1554](https://github.com/aksonov/react-native-router-flux/issues/1554)\n- Please add native animation support \\(better performance\\) [\\#1553](https://github.com/aksonov/react-native-router-flux/issues/1553)\n- Structure of routers [\\#1550](https://github.com/aksonov/react-native-router-flux/issues/1550)\n- Why doesn't navbar left button override back button? [\\#1547](https://github.com/aksonov/react-native-router-flux/issues/1547)\n- How to go back to Login again? [\\#1545](https://github.com/aksonov/react-native-router-flux/issues/1545)\n- Changing navBars [\\#1544](https://github.com/aksonov/react-native-router-flux/issues/1544)\n- Multiple Routers [\\#1541](https://github.com/aksonov/react-native-router-flux/issues/1541)\n- how to set transition animation [\\#1540](https://github.com/aksonov/react-native-router-flux/issues/1540)\n- display white screen or hold last state when faster interaction which trigger push [\\#1539](https://github.com/aksonov/react-native-router-flux/issues/1539)\n- Event triggered when routing [\\#1538](https://github.com/aksonov/react-native-router-flux/issues/1538)\n- Painfully slow on iPhone 6, Android, \\(fast on iPhone 7\\) [\\#1536](https://github.com/aksonov/react-native-router-flux/issues/1536)\n- Ask For Help: how to Switch to another scene with Switch [\\#1533](https://github.com/aksonov/react-native-router-flux/issues/1533)\n- How to Action.pop\\(\\) without animation in a \\<Scene /\\>, not hold project. I've set duration={0} but it won't work. Many thanks! [\\#1532](https://github.com/aksonov/react-native-router-flux/issues/1532)\n- Performance issue [\\#1531](https://github.com/aksonov/react-native-router-flux/issues/1531)\n- Scene's Not \"connected\" to Redux store. Can't mapStateToProps [\\#1530](https://github.com/aksonov/react-native-router-flux/issues/1530)\n- Cannot change TabBar's NavBar background color [\\#1529](https://github.com/aksonov/react-native-router-flux/issues/1529)\n- Is there a doc about what ActionConst do? [\\#1520](https://github.com/aksonov/react-native-router-flux/issues/1520)\n- Use tabbar the tab use the same component I get data in the componentDidmount but entered page is not enter componentDidmount, so it's not re-render page [\\#1518](https://github.com/aksonov/react-native-router-flux/issues/1518)\n- Disable backButton from navigationBar on tabs [\\#1517](https://github.com/aksonov/react-native-router-flux/issues/1517)\n- How to pass props from navbar to another page? [\\#1516](https://github.com/aksonov/react-native-router-flux/issues/1516)\n- Question: Is there a way to show/hide navBar's rightButton through dispatch? [\\#1513](https://github.com/aksonov/react-native-router-flux/issues/1513)\n- Force scene re render on back action [\\#1510](https://github.com/aksonov/react-native-router-flux/issues/1510)\n- Custom Icon on Drawer NOT working [\\#1507](https://github.com/aksonov/react-native-router-flux/issues/1507)\n- Stop iOS accessibility Voiceover to access items that are not rendered [\\#1506](https://github.com/aksonov/react-native-router-flux/issues/1506)\n- I want to set the animation when tab to different scene,but the 'duration' and ‘direction’ doesn't work? [\\#1505](https://github.com/aksonov/react-native-router-flux/issues/1505)\n- Component Mounting Twice After React Native 0.39 upgrade with IOS 9.2 [\\#1504](https://github.com/aksonov/react-native-router-flux/issues/1504)\n- I'm planning to write a doc on dynamic tabs manipulation on TabBar. Shall I start working on this? [\\#1503](https://github.com/aksonov/react-native-router-flux/issues/1503)\n- Modal just rendering the half [\\#1502](https://github.com/aksonov/react-native-router-flux/issues/1502)\n- Get title from custom navigator [\\#1500](https://github.com/aksonov/react-native-router-flux/issues/1500)\n- Shoutem dropdown + RNRF navbar [\\#1499](https://github.com/aksonov/react-native-router-flux/issues/1499)\n- Artificial scene stack \\(history\\) [\\#1498](https://github.com/aksonov/react-native-router-flux/issues/1498)\n- react- native version 0.38, react-native router-flux version 3.37   [\\#1496](https://github.com/aksonov/react-native-router-flux/issues/1496)\n- Getting undefined is not a function on Android only [\\#1495](https://github.com/aksonov/react-native-router-flux/issues/1495)\n- How to have the navbar with classic iOS style? [\\#1493](https://github.com/aksonov/react-native-router-flux/issues/1493)\n- Trigger component logic upon navigating to a different tab [\\#1492](https://github.com/aksonov/react-native-router-flux/issues/1492)\n- How to unmount a scene when push to it and pop from it [\\#1491](https://github.com/aksonov/react-native-router-flux/issues/1491)\n- Render element between navBar and the route component [\\#1490](https://github.com/aksonov/react-native-router-flux/issues/1490)\n- Custom NavBar doesn't appear [\\#1489](https://github.com/aksonov/react-native-router-flux/issues/1489)\n- Disable title slide animation while using 'fade' animation [\\#1487](https://github.com/aksonov/react-native-router-flux/issues/1487)\n- Native-base content being overlayed by navigation bar [\\#1486](https://github.com/aksonov/react-native-router-flux/issues/1486)\n- Scene inside a Scene how to navigate [\\#1484](https://github.com/aksonov/react-native-router-flux/issues/1484)\n- How to dynamically set initial scene via state [\\#1483](https://github.com/aksonov/react-native-router-flux/issues/1483)\n- OnLeftRoute event [\\#1481](https://github.com/aksonov/react-native-router-flux/issues/1481)\n- Scenes are not removed from nav stack when moving between tabs [\\#1480](https://github.com/aksonov/react-native-router-flux/issues/1480)\n- how should I custom animation of 3.x version [\\#1478](https://github.com/aksonov/react-native-router-flux/issues/1478)\n- Drawer could not work well in the second and later login [\\#1477](https://github.com/aksonov/react-native-router-flux/issues/1477)\n- navigation state show correct index? [\\#1475](https://github.com/aksonov/react-native-router-flux/issues/1475)\n- Pushing to scene with tabs loses navbar [\\#1473](https://github.com/aksonov/react-native-router-flux/issues/1473)\n- Transition when touching the title [\\#1471](https://github.com/aksonov/react-native-router-flux/issues/1471)\n- Custom NavBar doesn't move to top position [\\#1470](https://github.com/aksonov/react-native-router-flux/issues/1470)\n- Missing assets React Native Windows \\(UWP\\) [\\#1468](https://github.com/aksonov/react-native-router-flux/issues/1468)\n- Example app transitions are very very slow on iphone 6 sim [\\#1467](https://github.com/aksonov/react-native-router-flux/issues/1467)\n- view is not re-rendered when click button too fast [\\#1466](https://github.com/aksonov/react-native-router-flux/issues/1466)\n- duplicated StaticContainer on `flow check` [\\#1465](https://github.com/aksonov/react-native-router-flux/issues/1465)\n- warning: \"'useNativeDriver' is not supported\" when \"Back\" button is pressed [\\#1464](https://github.com/aksonov/react-native-router-flux/issues/1464)\n- Can't custom the tab bar icon with title? [\\#1463](https://github.com/aksonov/react-native-router-flux/issues/1463)\n- White lines flickering around edges during transitions [\\#1460](https://github.com/aksonov/react-native-router-flux/issues/1460)\n- how can  refresh parent component when child component is poped  [\\#1458](https://github.com/aksonov/react-native-router-flux/issues/1458)\n- How to use the drawer with the navigator any example? [\\#1456](https://github.com/aksonov/react-native-router-flux/issues/1456)\n- Custom nav bar for individual scene or even different state of scene \\(new feature [\\#1453](https://github.com/aksonov/react-native-router-flux/issues/1453)\n- Nested tabs [\\#1452](https://github.com/aksonov/react-native-router-flux/issues/1452)\n- about react native scene tabs, discussion, do we need to fork? [\\#1449](https://github.com/aksonov/react-native-router-flux/issues/1449)\n- how to change NavigationDrawer icon [\\#1448](https://github.com/aksonov/react-native-router-flux/issues/1448)\n- renderRightButton renders multiple times in Android [\\#1447](https://github.com/aksonov/react-native-router-flux/issues/1447)\n- Collapsing drawer when navigating away? [\\#1445](https://github.com/aksonov/react-native-router-flux/issues/1445)\n- How to create a global component like message or loading [\\#1443](https://github.com/aksonov/react-native-router-flux/issues/1443)\n- How to implement custom scene renderer? [\\#1442](https://github.com/aksonov/react-native-router-flux/issues/1442)\n- Scene.type docs [\\#1441](https://github.com/aksonov/react-native-router-flux/issues/1441)\n- Feature Request: Nested Components [\\#1440](https://github.com/aksonov/react-native-router-flux/issues/1440)\n- How to show a modal with custom NavBar? [\\#1438](https://github.com/aksonov/react-native-router-flux/issues/1438)\n- Scenes are unmounted late [\\#1437](https://github.com/aksonov/react-native-router-flux/issues/1437)\n- Why don't work scens after auth? [\\#1436](https://github.com/aksonov/react-native-router-flux/issues/1436)\n- Back button appearing in root of navbar scenario [\\#1433](https://github.com/aksonov/react-native-router-flux/issues/1433)\n- How to: Screen Transition which looks like element of current scene is expanding to full screen [\\#1432](https://github.com/aksonov/react-native-router-flux/issues/1432)\n- Inconsistency scene duration and animation [\\#1431](https://github.com/aksonov/react-native-router-flux/issues/1431)\n- How to flip back button in RTL Layout [\\#1430](https://github.com/aksonov/react-native-router-flux/issues/1430)\n- duration ignored when passed to Action [\\#1428](https://github.com/aksonov/react-native-router-flux/issues/1428)\n- Navigating to another  route re-renders the current route [\\#1427](https://github.com/aksonov/react-native-router-flux/issues/1427)\n- React Native Drawer does not respond to onTouchDrag or: How to make it work [\\#1424](https://github.com/aksonov/react-native-router-flux/issues/1424)\n- backandroid jump between tabs [\\#1421](https://github.com/aksonov/react-native-router-flux/issues/1421)\n- default custom renderRightButton [\\#1417](https://github.com/aksonov/react-native-router-flux/issues/1417)\n- Modal as overlay\\(transparent bg\\) not as new screen [\\#1411](https://github.com/aksonov/react-native-router-flux/issues/1411)\n- Recommended Way to Transition a Component within a Scene [\\#1409](https://github.com/aksonov/react-native-router-flux/issues/1409)\n- backAndroidHandler/onBackAndroid/onExitApp not triggered on Actions.refresh [\\#1405](https://github.com/aksonov/react-native-router-flux/issues/1405)\n- Navigator scene config problem [\\#1403](https://github.com/aksonov/react-native-router-flux/issues/1403)\n- push new version \\(3.35.1\\) to update index.d.ts typings [\\#1402](https://github.com/aksonov/react-native-router-flux/issues/1402)\n- animation on reset [\\#1399](https://github.com/aksonov/react-native-router-flux/issues/1399)\n- How can I do conditional navigation when user launch app from deepLink or Notifications [\\#1398](https://github.com/aksonov/react-native-router-flux/issues/1398)\n- Where is the documentation for DefaultRenderer? [\\#1396](https://github.com/aksonov/react-native-router-flux/issues/1396)\n- tab bar Icons wont display  [\\#1395](https://github.com/aksonov/react-native-router-flux/issues/1395)\n- About tabbar [\\#1394](https://github.com/aksonov/react-native-router-flux/issues/1394)\n- No navigation bar is displayed when using Drawer with modal [\\#1393](https://github.com/aksonov/react-native-router-flux/issues/1393)\n- Props passed through route remain static [\\#1389](https://github.com/aksonov/react-native-router-flux/issues/1389)\n- how to fit/constrain background image into nav bar ? [\\#1387](https://github.com/aksonov/react-native-router-flux/issues/1387)\n- Back Button not displayed as expected [\\#1385](https://github.com/aksonov/react-native-router-flux/issues/1385)\n- how can i close the drawer in designated page? [\\#1384](https://github.com/aksonov/react-native-router-flux/issues/1384)\n- When navigating, why the navigation bar's height is changing? [\\#1382](https://github.com/aksonov/react-native-router-flux/issues/1382)\n- Problem about pop and refresh [\\#1381](https://github.com/aksonov/react-native-router-flux/issues/1381)\n- how can i get the current scene by redux [\\#1378](https://github.com/aksonov/react-native-router-flux/issues/1378)\n- Disable swipe back gesture without disabling all gestures [\\#1376](https://github.com/aksonov/react-native-router-flux/issues/1376)\n- hide navbar and bottom tab bar on scroll [\\#1374](https://github.com/aksonov/react-native-router-flux/issues/1374)\n- Why doesn't Modal dispatch ActionConst.FOCUS? [\\#1373](https://github.com/aksonov/react-native-router-flux/issues/1373)\n- Navbar buttons top offset is not the same [\\#1369](https://github.com/aksonov/react-native-router-flux/issues/1369)\n- Render different tabs based on condition \\(isLogged\\) [\\#1367](https://github.com/aksonov/react-native-router-flux/issues/1367)\n- How to push a scene while resetting the stack \\*\\*except\\*\\* the initial scene? [\\#1365](https://github.com/aksonov/react-native-router-flux/issues/1365)\n- Not able to access any function after override left or right button at own component level [\\#1364](https://github.com/aksonov/react-native-router-flux/issues/1364)\n- About hideNavBar property. [\\#1363](https://github.com/aksonov/react-native-router-flux/issues/1363)\n- Typescript Definition problem [\\#1361](https://github.com/aksonov/react-native-router-flux/issues/1361)\n- RouterWithRedux maps only initial state mapStateToProps, but never updates changes as actions are dispatched and reducer changed the state. [\\#1359](https://github.com/aksonov/react-native-router-flux/issues/1359)\n- Update react-native-experimental-navigation [\\#1358](https://github.com/aksonov/react-native-router-flux/issues/1358)\n- ActionConst.PUSH scene data [\\#1357](https://github.com/aksonov/react-native-router-flux/issues/1357)\n- Add support for react-native-windows [\\#1356](https://github.com/aksonov/react-native-router-flux/issues/1356)\n- Pass function from component to navbar [\\#1355](https://github.com/aksonov/react-native-router-flux/issues/1355)\n- Hide drawer/hamburger button in NavBar [\\#1353](https://github.com/aksonov/react-native-router-flux/issues/1353)\n- Can not read property '\\<functionname\\>' of undefined when using onBack in prerendered scenes [\\#1352](https://github.com/aksonov/react-native-router-flux/issues/1352)\n- renderLeftButton not working if navbar placed at bottom [\\#1351](https://github.com/aksonov/react-native-router-flux/issues/1351)\n- add passProps to root Scene cause tabs to not working well [\\#1350](https://github.com/aksonov/react-native-router-flux/issues/1350)\n- Update state when navigating back to a scene [\\#1349](https://github.com/aksonov/react-native-router-flux/issues/1349)\n- navBar contents is not rendered with navigationBarBackgroundImage [\\#1348](https://github.com/aksonov/react-native-router-flux/issues/1348)\n- Navigation is not smooth [\\#1343](https://github.com/aksonov/react-native-router-flux/issues/1343)\n- Chevron showing even after using NavigationAction.foo\\({type: \"reset\"}\\) [\\#1342](https://github.com/aksonov/react-native-router-flux/issues/1342)\n- Pop then push [\\#1341](https://github.com/aksonov/react-native-router-flux/issues/1341)\n- RouterWithRedux HotReload not working [\\#1339](https://github.com/aksonov/react-native-router-flux/issues/1339)\n- Tab navigation [\\#1337](https://github.com/aksonov/react-native-router-flux/issues/1337)\n- rightButtonImage with imagesource not working [\\#1335](https://github.com/aksonov/react-native-router-flux/issues/1335)\n- Nested Scenes with 2 successive hideNavBar Scenes causes all other Scenes  not to have Nav Bar [\\#1330](https://github.com/aksonov/react-native-router-flux/issues/1330)\n- Receiving \"synthetic event is reused\" warning when navigating between scenes using redux sample code [\\#1328](https://github.com/aksonov/react-native-router-flux/issues/1328)\n- Actions.SCENE\\({type: 'reset'}\\) [\\#1327](https://github.com/aksonov/react-native-router-flux/issues/1327)\n- Problem when showing WebView in drawer \\(maybe also in tab\\)  [\\#1326](https://github.com/aksonov/react-native-router-flux/issues/1326)\n- Trigger Actions.refresh\\(\\) without rerendering the component??? [\\#1323](https://github.com/aksonov/react-native-router-flux/issues/1323)\n- LeftButton was not rendered [\\#1320](https://github.com/aksonov/react-native-router-flux/issues/1320)\n- Map dispatch to props not work as expected [\\#1318](https://github.com/aksonov/react-native-router-flux/issues/1318)\n- On Tab Selected lifecycle method [\\#1317](https://github.com/aksonov/react-native-router-flux/issues/1317)\n- Disable backButton on Modal [\\#1316](https://github.com/aksonov/react-native-router-flux/issues/1316)\n- Creating custom parent scene with persistent navigation elements [\\#1315](https://github.com/aksonov/react-native-router-flux/issues/1315)\n- Scene Won't Change With Remote Debugger Enabled [\\#1314](https://github.com/aksonov/react-native-router-flux/issues/1314)\n- \\[Drawer \\(side menu\\) integration\\] not working with DrawerLayoutAndroid [\\#1313](https://github.com/aksonov/react-native-router-flux/issues/1313)\n- Initial tab will be frozen when change tab [\\#1311](https://github.com/aksonov/react-native-router-flux/issues/1311)\n- Navbar documentation [\\#1309](https://github.com/aksonov/react-native-router-flux/issues/1309)\n- Transition without reloading image for every page [\\#1302](https://github.com/aksonov/react-native-router-flux/issues/1302)\n- Can I put a logo \\(image file\\) in the Nav bar? [\\#1301](https://github.com/aksonov/react-native-router-flux/issues/1301)\n- how to add an view above navigation bar [\\#1299](https://github.com/aksonov/react-native-router-flux/issues/1299)\n- Call onLeft\\(\\) function [\\#1297](https://github.com/aksonov/react-native-router-flux/issues/1297)\n- \"Unique key should be defined\" exception [\\#1296](https://github.com/aksonov/react-native-router-flux/issues/1296)\n- instructions in mini-tutorial result in onPress being called on render when data is passed [\\#1290](https://github.com/aksonov/react-native-router-flux/issues/1290)\n- Returning to the core NavigationExperimental Component? [\\#1289](https://github.com/aksonov/react-native-router-flux/issues/1289)\n- Unable to run Example - react-native run-android throws an error [\\#1288](https://github.com/aksonov/react-native-router-flux/issues/1288)\n- Re-render same scene with updated props [\\#1285](https://github.com/aksonov/react-native-router-flux/issues/1285)\n- How to use react-native-router-flux and react-native-scrollable-tab-view? [\\#1283](https://github.com/aksonov/react-native-router-flux/issues/1283)\n- Scene mounting bug [\\#1282](https://github.com/aksonov/react-native-router-flux/issues/1282)\n- Navigating takes me to the previous scene for a second before going to the desired scene  [\\#1281](https://github.com/aksonov/react-native-router-flux/issues/1281)\n- Navigation bar height? [\\#1279](https://github.com/aksonov/react-native-router-flux/issues/1279)\n- Sub-Scenes Unexpectedly Popping on Tab Change [\\#1275](https://github.com/aksonov/react-native-router-flux/issues/1275)\n- How to get back to the first scene of the tab? [\\#1274](https://github.com/aksonov/react-native-router-flux/issues/1274)\n- Search field inside navigation? [\\#1273](https://github.com/aksonov/react-native-router-flux/issues/1273)\n- Android vs iOS inconsistencies.  [\\#1268](https://github.com/aksonov/react-native-router-flux/issues/1268)\n- How to hide nav bar based on state? [\\#1267](https://github.com/aksonov/react-native-router-flux/issues/1267)\n- Race condition when quickly navigating between scenes [\\#1266](https://github.com/aksonov/react-native-router-flux/issues/1266)\n- Displaying compressed sized navigation bar [\\#1265](https://github.com/aksonov/react-native-router-flux/issues/1265)\n- How to redirecting new page with routerReducer [\\#1264](https://github.com/aksonov/react-native-router-flux/issues/1264)\n- How to disable the navBar animation, especially when from one page with navBar to one page without navBar. [\\#1263](https://github.com/aksonov/react-native-router-flux/issues/1263)\n- Modal Dialog Problem [\\#1262](https://github.com/aksonov/react-native-router-flux/issues/1262)\n- AutoUpdate router data via server? [\\#1260](https://github.com/aksonov/react-native-router-flux/issues/1260)\n- Scene with react-native-maps breaks on router-flux 3.36.0 [\\#1258](https://github.com/aksonov/react-native-router-flux/issues/1258)\n- Testing actions called within redux-sagas [\\#1257](https://github.com/aksonov/react-native-router-flux/issues/1257)\n- Displaying Image in Header \\(NavBar\\) [\\#1255](https://github.com/aksonov/react-native-router-flux/issues/1255)\n- Swipe down conflicts / bugs inside modal \\(direction=\"vertical\"\\) [\\#1253](https://github.com/aksonov/react-native-router-flux/issues/1253)\n- Drawer DefaultRenderer failed prop type for children [\\#1252](https://github.com/aksonov/react-native-router-flux/issues/1252)\n- PR: Add support for `eslint-plugin-flowtype-errors` [\\#1251](https://github.com/aksonov/react-native-router-flux/issues/1251)\n- Scenes header don't update based on authenticated props [\\#1250](https://github.com/aksonov/react-native-router-flux/issues/1250)\n- panHandlers = { null } raises warning [\\#1249](https://github.com/aksonov/react-native-router-flux/issues/1249)\n- navbar hide when action.name to other page with navbar [\\#1248](https://github.com/aksonov/react-native-router-flux/issues/1248)\n- how to reset nav history when changing tabs? [\\#1246](https://github.com/aksonov/react-native-router-flux/issues/1246)\n- Modal in the tab bar bug [\\#1243](https://github.com/aksonov/react-native-router-flux/issues/1243)\n- Can we have a fade animation similar to that on the Navigation component? [\\#1241](https://github.com/aksonov/react-native-router-flux/issues/1241)\n- componentWillReceiveProps is getting called on Poped screen on state update. [\\#1239](https://github.com/aksonov/react-native-router-flux/issues/1239)\n- arguments callee and caller cannot be accessed in strict mode [\\#1210](https://github.com/aksonov/react-native-router-flux/issues/1210)\n- Best Practices for Navigating to a route [\\#1209](https://github.com/aksonov/react-native-router-flux/issues/1209)\n- Navigation between scenes and calling render & constructor [\\#1208](https://github.com/aksonov/react-native-router-flux/issues/1208)\n- update version [\\#1207](https://github.com/aksonov/react-native-router-flux/issues/1207)\n- Get Router name [\\#1206](https://github.com/aksonov/react-native-router-flux/issues/1206)\n- Get all children in Drawer Navigation state with tabs={false} [\\#1204](https://github.com/aksonov/react-native-router-flux/issues/1204)\n- Unable to change 'scale' transition effect between scenes [\\#1202](https://github.com/aksonov/react-native-router-flux/issues/1202)\n- Question, How to execute a function after routing ? [\\#1198](https://github.com/aksonov/react-native-router-flux/issues/1198)\n- How to traverse scenes [\\#1197](https://github.com/aksonov/react-native-router-flux/issues/1197)\n- Example's Redux implementation doesn't trigger in reducer [\\#1196](https://github.com/aksonov/react-native-router-flux/issues/1196)\n- How to have different navbar and transitions for Android and iOS? [\\#1194](https://github.com/aksonov/react-native-router-flux/issues/1194)\n- How do i add a right nav bar button? [\\#1192](https://github.com/aksonov/react-native-router-flux/issues/1192)\n- NSInternalInconsistencyException [\\#1187](https://github.com/aksonov/react-native-router-flux/issues/1187)\n- Bind UIManager.showPopupMenu.Handle to RFlux/TouchableOpacity [\\#1186](https://github.com/aksonov/react-native-router-flux/issues/1186)\n- titleWrapper style? [\\#1184](https://github.com/aksonov/react-native-router-flux/issues/1184)\n- Animation of appearance of navigation bar? [\\#1182](https://github.com/aksonov/react-native-router-flux/issues/1182)\n- How do I make react-native-router-flux work with redux connect? [\\#1181](https://github.com/aksonov/react-native-router-flux/issues/1181)\n- Is there any available docs for how to use and customize navbar? [\\#1179](https://github.com/aksonov/react-native-router-flux/issues/1179)\n- Remote debugging experience with android device [\\#1177](https://github.com/aksonov/react-native-router-flux/issues/1177)\n- Actions.refresh refreshes current scene and tabbar scene when using tabbar [\\#1176](https://github.com/aksonov/react-native-router-flux/issues/1176)\n- com.facebook.react.modules.core.JavascriptException: undefined is not an object \\(evaluating 'e.children\\[e.index\\].sceneKey'\\) [\\#1175](https://github.com/aksonov/react-native-router-flux/issues/1175)\n- Transitioning out of scene with does not use custom animationStyle [\\#1174](https://github.com/aksonov/react-native-router-flux/issues/1174)\n- Cannot set renderLoading or renderError for Relay container [\\#1166](https://github.com/aksonov/react-native-router-flux/issues/1166)\n- swipe gesture is hard to trigger [\\#1162](https://github.com/aksonov/react-native-router-flux/issues/1162)\n- Navigating with TabBar inside Drawer, navigate out of drawer and come back crash \\(EDITED\\) [\\#1160](https://github.com/aksonov/react-native-router-flux/issues/1160)\n- \"undefined is not an object\" for \"action.scene.name\" inside 'reducerCreate' [\\#1159](https://github.com/aksonov/react-native-router-flux/issues/1159)\n- how can I use my user-defined icon in tab bar? Thanks. [\\#1158](https://github.com/aksonov/react-native-router-flux/issues/1158)\n- Version 3.35.0 leftButton does not render component [\\#1154](https://github.com/aksonov/react-native-router-flux/issues/1154)\n- Question: How pass additional props to getSceneStyle ? [\\#1147](https://github.com/aksonov/react-native-router-flux/issues/1147)\n- Question: Scene specific back button behavior \\[Android\\] [\\#1146](https://github.com/aksonov/react-native-router-flux/issues/1146)\n- navigationState.children\\[i\\].key conflicts with another child [\\#1144](https://github.com/aksonov/react-native-router-flux/issues/1144)\n- Navigation bar backButtonImage - can we use Icon instead if image   [\\#1143](https://github.com/aksonov/react-native-router-flux/issues/1143)\n- how to use nested scene? [\\#1142](https://github.com/aksonov/react-native-router-flux/issues/1142)\n- Scenes don't recognize multiple children [\\#1136](https://github.com/aksonov/react-native-router-flux/issues/1136)\n- Navbar 'title' position in IOS  [\\#1131](https://github.com/aksonov/react-native-router-flux/issues/1131)\n- Hide leftButtonImage [\\#1130](https://github.com/aksonov/react-native-router-flux/issues/1130)\n- How can I reload the Scene Component when router back focus. [\\#1127](https://github.com/aksonov/react-native-router-flux/issues/1127)\n- When calling two actions in a row, only the last one works [\\#1125](https://github.com/aksonov/react-native-router-flux/issues/1125)\n- scene\\(same component. different key\\) quickly changed but data did not changed [\\#1124](https://github.com/aksonov/react-native-router-flux/issues/1124)\n- Prevent react-native-router-flux from rendering all components [\\#1123](https://github.com/aksonov/react-native-router-flux/issues/1123)\n- Change default burger [\\#1122](https://github.com/aksonov/react-native-router-flux/issues/1122)\n- Parent Containers don't work [\\#1121](https://github.com/aksonov/react-native-router-flux/issues/1121)\n- Jest test support [\\#1120](https://github.com/aksonov/react-native-router-flux/issues/1120)\n- \\#question\\# scene key namesapce & compare with react-router [\\#1115](https://github.com/aksonov/react-native-router-flux/issues/1115)\n- RN 0.32.0 - \"Warning: Component's children should not be mutated. In NavBar...\" [\\#1112](https://github.com/aksonov/react-native-router-flux/issues/1112)\n- Option to not move original scene when transitioning to a new one [\\#1111](https://github.com/aksonov/react-native-router-flux/issues/1111)\n- 'ActionConst.Reset' not working properly after few uses [\\#1110](https://github.com/aksonov/react-native-router-flux/issues/1110)\n- Add Features available in Navigator [\\#1103](https://github.com/aksonov/react-native-router-flux/issues/1103)\n- Actions.SCENE doing nothing [\\#1102](https://github.com/aksonov/react-native-router-flux/issues/1102)\n- RN 0.31 the tab bar gone [\\#1100](https://github.com/aksonov/react-native-router-flux/issues/1100)\n- Feature request: support fullscreen pop gesture [\\#1096](https://github.com/aksonov/react-native-router-flux/issues/1096)\n- Dropping Frames  [\\#1095](https://github.com/aksonov/react-native-router-flux/issues/1095)\n- Back button is not shown when tabs scene is pushed [\\#1092](https://github.com/aksonov/react-native-router-flux/issues/1092)\n- Actions.get only gets scenes from the current scene stack [\\#1086](https://github.com/aksonov/react-native-router-flux/issues/1086)\n- Ghost view during navigation transition [\\#1085](https://github.com/aksonov/react-native-router-flux/issues/1085)\n- BackAndroid pops two scenes when navigating back from a subscene [\\#1084](https://github.com/aksonov/react-native-router-flux/issues/1084)\n- Switch Scene only recognizes the first child Scene and it's key [\\#1081](https://github.com/aksonov/react-native-router-flux/issues/1081)\n- NavBar is not transparent on Android [\\#1079](https://github.com/aksonov/react-native-router-flux/issues/1079)\n- Router needs a key in readme? [\\#1077](https://github.com/aksonov/react-native-router-flux/issues/1077)\n- NavBar covered by views [\\#1076](https://github.com/aksonov/react-native-router-flux/issues/1076)\n- Cannot read property 'applyAnimation' of undefined when using ActionConst.POP\\_TO [\\#1074](https://github.com/aksonov/react-native-router-flux/issues/1074)\n- How to remove view from the view stack [\\#1071](https://github.com/aksonov/react-native-router-flux/issues/1071)\n- translucent in tabbar not working [\\#1070](https://github.com/aksonov/react-native-router-flux/issues/1070)\n- Nested children Scenes do not display navBar when hideNavBar=false [\\#1069](https://github.com/aksonov/react-native-router-flux/issues/1069)\n- Scenes for deep behaviour [\\#1067](https://github.com/aksonov/react-native-router-flux/issues/1067)\n- Navigate between 2 different tabbars [\\#1066](https://github.com/aksonov/react-native-router-flux/issues/1066)\n- How to use  backAndroidHandler   onBackAndroid   onExitApp   in Router？ [\\#1065](https://github.com/aksonov/react-native-router-flux/issues/1065)\n- Swipe between tabs [\\#1064](https://github.com/aksonov/react-native-router-flux/issues/1064)\n- Closing react-native-drawer upon navigation to new scene [\\#1063](https://github.com/aksonov/react-native-router-flux/issues/1063)\n- Scene direction control not working [\\#1062](https://github.com/aksonov/react-native-router-flux/issues/1062)\n- How can I dynamically go to different initial page by deeplink ? [\\#1060](https://github.com/aksonov/react-native-router-flux/issues/1060)\n- Navbar changes upon navigation to tabbed scenes [\\#1056](https://github.com/aksonov/react-native-router-flux/issues/1056)\n- How can I access the title property if I use a custom renderTitle function [\\#1053](https://github.com/aksonov/react-native-router-flux/issues/1053)\n- Can trigger hide/show of tab-bars/nav-bars programmatically?  [\\#1052](https://github.com/aksonov/react-native-router-flux/issues/1052)\n- Get the current navigator stack [\\#1045](https://github.com/aksonov/react-native-router-flux/issues/1045)\n- how to implements call a function on scene transition end [\\#1044](https://github.com/aksonov/react-native-router-flux/issues/1044)\n- Scene with key considered non-existent despite it rendering successfully [\\#1040](https://github.com/aksonov/react-native-router-flux/issues/1040)\n- \\_\\_DEV\\_\\_ not defined  [\\#1039](https://github.com/aksonov/react-native-router-flux/issues/1039)\n- Just the transition system [\\#1038](https://github.com/aksonov/react-native-router-flux/issues/1038)\n- How can I do multiple actions with a modal ? [\\#1035](https://github.com/aksonov/react-native-router-flux/issues/1035)\n- throw err;  ^  Error: ENOENT: no such file or directory, uv\\_chdir [\\#1033](https://github.com/aksonov/react-native-router-flux/issues/1033)\n- Is that any way to put background image in navigation bar and also image at navigation title? [\\#1031](https://github.com/aksonov/react-native-router-flux/issues/1031)\n- JSX-style comments confused for \\<Scene\\> inside \\<Router\\> [\\#1030](https://github.com/aksonov/react-native-router-flux/issues/1030)\n- unknown module fbjs/lib/invariant [\\#1026](https://github.com/aksonov/react-native-router-flux/issues/1026)\n- DefaultRenderer dependency on pure-render-mixin [\\#1018](https://github.com/aksonov/react-native-router-flux/issues/1018)\n- How can we pass props to previous screen in Action.Pop\\(\\) operation [\\#1014](https://github.com/aksonov/react-native-router-flux/issues/1014)\n- react-native-message-bar usage \\[Question\\] [\\#1011](https://github.com/aksonov/react-native-router-flux/issues/1011)\n- Change action names [\\#1010](https://github.com/aksonov/react-native-router-flux/issues/1010)\n- React Warnings [\\#1009](https://github.com/aksonov/react-native-router-flux/issues/1009)\n- Best Way to Navigate to a Scene from Different Parent? [\\#1005](https://github.com/aksonov/react-native-router-flux/issues/1005)\n- Tabbar and Modals [\\#1003](https://github.com/aksonov/react-native-router-flux/issues/1003)\n- Cannot resolve 'file' or 'directory' ./assets/back-icon.png [\\#1001](https://github.com/aksonov/react-native-router-flux/issues/1001)\n- Warnings with react native upgrade [\\#1000](https://github.com/aksonov/react-native-router-flux/issues/1000)\n- Custom BackButton component passed props [\\#999](https://github.com/aksonov/react-native-router-flux/issues/999)\n- Can't access props for scenes whitin a tabBar container [\\#997](https://github.com/aksonov/react-native-router-flux/issues/997)\n- Passing data to tabbar scene [\\#995](https://github.com/aksonov/react-native-router-flux/issues/995)\n- renderRightButton displays button on left side of NavBar [\\#994](https://github.com/aksonov/react-native-router-flux/issues/994)\n- Example of a simple TabBar [\\#988](https://github.com/aksonov/react-native-router-flux/issues/988)\n- Overriding vertical transitions not working [\\#987](https://github.com/aksonov/react-native-router-flux/issues/987)\n- props disapear when changing scene using redux store [\\#983](https://github.com/aksonov/react-native-router-flux/issues/983)\n- Interpolators are off [\\#981](https://github.com/aksonov/react-native-router-flux/issues/981)\n- DatePickerIOS triggers back gesture when choosing date. [\\#969](https://github.com/aksonov/react-native-router-flux/issues/969)\n- Redundant UI didn't get cleared by `Switch` [\\#965](https://github.com/aksonov/react-native-router-flux/issues/965)\n- Scene leaks through, and props question [\\#950](https://github.com/aksonov/react-native-router-flux/issues/950)\n- Proposal: don't trigger focus events for component-less scenes [\\#943](https://github.com/aksonov/react-native-router-flux/issues/943)\n- How to use switch right way? renderBackButton not show - questions [\\#938](https://github.com/aksonov/react-native-router-flux/issues/938)\n- Modal does not honor duration [\\#937](https://github.com/aksonov/react-native-router-flux/issues/937)\n- General performance question [\\#934](https://github.com/aksonov/react-native-router-flux/issues/934)\n- question about stack\\(history\\) [\\#930](https://github.com/aksonov/react-native-router-flux/issues/930)\n- How to detect Scene change/tab change?  [\\#925](https://github.com/aksonov/react-native-router-flux/issues/925)\n- Custom Animation for Scene Transition [\\#914](https://github.com/aksonov/react-native-router-flux/issues/914)\n- Missing \"Why\"-section [\\#908](https://github.com/aksonov/react-native-router-flux/issues/908)\n- Can't put custom left icon on scenes wrapped inside a tabbar [\\#904](https://github.com/aksonov/react-native-router-flux/issues/904)\n- Improve documentation about how to implement modals [\\#893](https://github.com/aksonov/react-native-router-flux/issues/893)\n- Custom NavBar with custom TabBar [\\#885](https://github.com/aksonov/react-native-router-flux/issues/885)\n- Popover style navigation [\\#882](https://github.com/aksonov/react-native-router-flux/issues/882)\n- initial router not rendered in Android\\(while fine in iOS\\) [\\#878](https://github.com/aksonov/react-native-router-flux/issues/878)\n- Broken layout when using Drawer & NavBar [\\#877](https://github.com/aksonov/react-native-router-flux/issues/877)\n- Swipe gesture not working to dismiss scene [\\#872](https://github.com/aksonov/react-native-router-flux/issues/872)\n- Pass state/props to onRight or onLeft \\(navbar\\) [\\#864](https://github.com/aksonov/react-native-router-flux/issues/864)\n- Component Props are not passed to renderNavigationBar method [\\#853](https://github.com/aksonov/react-native-router-flux/issues/853)\n- Transitions problem [\\#842](https://github.com/aksonov/react-native-router-flux/issues/842)\n- Parent navigation bar is not displayed when child has hideNavBar [\\#841](https://github.com/aksonov/react-native-router-flux/issues/841)\n- How to get length of router? [\\#833](https://github.com/aksonov/react-native-router-flux/issues/833)\n- Actions.pop\\(\\):  weird transitions between scenes [\\#800](https://github.com/aksonov/react-native-router-flux/issues/800)\n- view is not changing on scene selection [\\#787](https://github.com/aksonov/react-native-router-flux/issues/787)\n- Tab switching changes routes.scene to tab wrapper on the second time you click the tab. [\\#785](https://github.com/aksonov/react-native-router-flux/issues/785)\n- Swipe back moves multiple scenes [\\#784](https://github.com/aksonov/react-native-router-flux/issues/784)\n- \\[NavBar\\] wrong style  [\\#781](https://github.com/aksonov/react-native-router-flux/issues/781)\n- Actions.\\[SCENE\\_NAME\\] is not working. [\\#780](https://github.com/aksonov/react-native-router-flux/issues/780)\n- Dispatching multiple actions within TabBar onSelect  [\\#771](https://github.com/aksonov/react-native-router-flux/issues/771)\n- Switching between tabs does not trigger 'focus' action [\\#769](https://github.com/aksonov/react-native-router-flux/issues/769)\n- Hidden TabBar still clickable when hideTabBar={true} [\\#763](https://github.com/aksonov/react-native-router-flux/issues/763)\n- Discussion: the component usage within real apps [\\#558](https://github.com/aksonov/react-native-router-flux/issues/558)\n- IMPORTANT: Please ask questions about usage within Gitter or stackoverflow [\\#515](https://github.com/aksonov/react-native-router-flux/issues/515)\n- Unit testing [\\#326](https://github.com/aksonov/react-native-router-flux/issues/326)\n- Schema support for release 3.0 [\\#307](https://github.com/aksonov/react-native-router-flux/issues/307)\n\n**Merged pull requests:**\n\n- Activating Open Collective [\\#1989](https://github.com/aksonov/react-native-router-flux/pull/1989) ([xdamman](https://github.com/xdamman))\n- First stab at docs using Github pages [\\#1978](https://github.com/aksonov/react-native-router-flux/pull/1978) ([southerneer](https://github.com/southerneer))\n- Adding NavBar properties to NavBarProps and SceneProps typings [\\#1973](https://github.com/aksonov/react-native-router-flux/pull/1973) ([encosw](https://github.com/encosw))\n- Top to bottom scene transition [\\#1939](https://github.com/aksonov/react-native-router-flux/pull/1939) ([wvicioso](https://github.com/wvicioso))\n- fix typo [\\#1935](https://github.com/aksonov/react-native-router-flux/pull/1935) ([szhigunov](https://github.com/szhigunov))\n- change PropTypes reference from React to prop-types package [\\#1930](https://github.com/aksonov/react-native-router-flux/pull/1930) ([diogoarm](https://github.com/diogoarm))\n- should consider style within the state/props [\\#1921](https://github.com/aksonov/react-native-router-flux/pull/1921) ([pbassut](https://github.com/pbassut))\n- Fix: Do Not Clobber Tab Children Stack [\\#1918](https://github.com/aksonov/react-native-router-flux/pull/1918) ([jmcdonald-ut](https://github.com/jmcdonald-ut))\n- Add `ANDROID\\_BACK` to the `RNRFActionConst` interface [\\#1892](https://github.com/aksonov/react-native-router-flux/pull/1892) ([codebymikey](https://github.com/codebymikey))\n- Updated View.propTypes to ViewPropTypes [\\#1891](https://github.com/aksonov/react-native-router-flux/pull/1891) ([jbreuer95](https://github.com/jbreuer95))\n- Add onActivePress on TabBar [\\#1888](https://github.com/aksonov/react-native-router-flux/pull/1888) ([Piwaii](https://github.com/Piwaii))\n- Fixed Duplicate versions of react-native [\\#1885](https://github.com/aksonov/react-native-router-flux/pull/1885) ([abdurrahmanekr](https://github.com/abdurrahmanekr))\n- Remove extra backtick in README2.md [\\#1874](https://github.com/aksonov/react-native-router-flux/pull/1874) ([dylanpinn](https://github.com/dylanpinn))\n- fix \"Back button appearing in root of navbar scenario\" \\#1433 [\\#1838](https://github.com/aksonov/react-native-router-flux/pull/1838) ([twksos](https://github.com/twksos))\n- fix an error in OTHER\\_INFO.md of the part of Drawer \\(side menu\\) integration [\\#1822](https://github.com/aksonov/react-native-router-flux/pull/1822) ([Symous](https://github.com/Symous))\n- feature: expose position props to allow custom animations [\\#1627](https://github.com/aksonov/react-native-router-flux/pull/1627) ([ahanriat](https://github.com/ahanriat))\n- Fix inconsistent navbar button placement [\\#1525](https://github.com/aksonov/react-native-router-flux/pull/1525) ([jakecraige](https://github.com/jakecraige))\n- REFACTORING resetHistoryStack [\\#1386](https://github.com/aksonov/react-native-router-flux/pull/1386) ([sarovin](https://github.com/sarovin))\n\n## [3.39.1](https://github.com/aksonov/react-native-router-flux/tree/3.39.1) (2017-05-13)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/3.38.0...3.39.1)\n\n**Fixed bugs:**\n\n- Errors when build Example: ':app:compileDebugJavaWithJavac' [\\#1688](https://github.com/aksonov/react-native-router-flux/issues/1688)\n- Navigation state is lost when sending the app to background [\\#1657](https://github.com/aksonov/react-native-router-flux/issues/1657)\n- The nav bar and the tab bar block my scene [\\#836](https://github.com/aksonov/react-native-router-flux/issues/836)\n\n**Closed issues:**\n\n- Actions.pop behavior on Modal is different on Android and iOS [\\#1843](https://github.com/aksonov/react-native-router-flux/issues/1843)\n- Question: How can I swipe forward and backward [\\#1840](https://github.com/aksonov/react-native-router-flux/issues/1840)\n- Can't push adjacent scene over tabs [\\#1837](https://github.com/aksonov/react-native-router-flux/issues/1837)\n- a blank space between Navbar and the page when switching page. [\\#1831](https://github.com/aksonov/react-native-router-flux/issues/1831)\n- Animating Custom Navbar [\\#1827](https://github.com/aksonov/react-native-router-flux/issues/1827)\n- Prevent scene transition when passing props [\\#1826](https://github.com/aksonov/react-native-router-flux/issues/1826)\n- Navigate routes while keeping one component the same [\\#1821](https://github.com/aksonov/react-native-router-flux/issues/1821)\n- undefined is not an object \\(evaluating’el.props.component\\) [\\#1820](https://github.com/aksonov/react-native-router-flux/issues/1820)\n- how to remove or hide the titlebar? [\\#1818](https://github.com/aksonov/react-native-router-flux/issues/1818)\n- Can't find variable: React Problem [\\#1817](https://github.com/aksonov/react-native-router-flux/issues/1817)\n- After Install react-native-router-flux it's give me error  [\\#1815](https://github.com/aksonov/react-native-router-flux/issues/1815)\n-  Duplicate module name: TouchHistoryMath [\\#1806](https://github.com/aksonov/react-native-router-flux/issues/1806)\n- android react-native 0.43.3 error [\\#1805](https://github.com/aksonov/react-native-router-flux/issues/1805)\n- Can I hide Tabbar anytime I want? [\\#1796](https://github.com/aksonov/react-native-router-flux/issues/1796)\n- auto redirect bug [\\#1794](https://github.com/aksonov/react-native-router-flux/issues/1794)\n- back button cut off [\\#1788](https://github.com/aksonov/react-native-router-flux/issues/1788)\n- Can't add title under icon image? [\\#1782](https://github.com/aksonov/react-native-router-flux/issues/1782)\n- Cannot get to tabs using Actions\\[tabName\\]\\(\\) [\\#1781](https://github.com/aksonov/react-native-router-flux/issues/1781)\n- How to save current tab's scene and state? [\\#1778](https://github.com/aksonov/react-native-router-flux/issues/1778)\n- Question on making Actions.KEY like tabs? [\\#1776](https://github.com/aksonov/react-native-router-flux/issues/1776)\n- \\[Question\\] Advice on location to call Google Analytics trackScreenView on scene change? [\\#1772](https://github.com/aksonov/react-native-router-flux/issues/1772)\n- How can I create a route to a react-native-scrollable-tab-view that is inside a flux scene? [\\#1769](https://github.com/aksonov/react-native-router-flux/issues/1769)\n- Not working on react-native 43.1 [\\#1767](https://github.com/aksonov/react-native-router-flux/issues/1767)\n- Navigation drawer: How to know the current selected item? [\\#1766](https://github.com/aksonov/react-native-router-flux/issues/1766)\n- Shouldn't define sceneStyle several times? [\\#1765](https://github.com/aksonov/react-native-router-flux/issues/1765)\n- How to add onPress not only to change the Scene but background color of Button too ?  [\\#1759](https://github.com/aksonov/react-native-router-flux/issues/1759)\n- Back button disappears when I switch tabs [\\#1758](https://github.com/aksonov/react-native-router-flux/issues/1758)\n- TabBar with Button for DrawerMenu?  [\\#1744](https://github.com/aksonov/react-native-router-flux/issues/1744)\n- Can't integrate Router with Drawer [\\#1739](https://github.com/aksonov/react-native-router-flux/issues/1739)\n- Mount functions not working properly when switching tabs [\\#1731](https://github.com/aksonov/react-native-router-flux/issues/1731)\n- Hide navbar for single scene [\\#1726](https://github.com/aksonov/react-native-router-flux/issues/1726)\n- Passing params into Actions.route appears to fail silently [\\#1720](https://github.com/aksonov/react-native-router-flux/issues/1720)\n- Need example using title image [\\#1712](https://github.com/aksonov/react-native-router-flux/issues/1712)\n- Strange tab/navbar behavior when pulling from github? [\\#1708](https://github.com/aksonov/react-native-router-flux/issues/1708)\n- Change the `tintColor` of the `drawerImage` sent to the `Router`. [\\#1689](https://github.com/aksonov/react-native-router-flux/issues/1689)\n- Tabs losing state [\\#1686](https://github.com/aksonov/react-native-router-flux/issues/1686)\n- How to redirect to sub-scenes? [\\#1685](https://github.com/aksonov/react-native-router-flux/issues/1685)\n- renderBackButton\\(\\) not working anymore [\\#1683](https://github.com/aksonov/react-native-router-flux/issues/1683)\n- How to apply conditional Tabbar style?   [\\#1680](https://github.com/aksonov/react-native-router-flux/issues/1680)\n- Jest testing problem: Invariant Violation: Native module cannot be null. [\\#1679](https://github.com/aksonov/react-native-router-flux/issues/1679)\n- Close current scene and move to another [\\#1678](https://github.com/aksonov/react-native-router-flux/issues/1678)\n- rightToLeftDirection, possible PR to submit ? [\\#1674](https://github.com/aksonov/react-native-router-flux/issues/1674)\n- Components are not receiving the scene props [\\#1672](https://github.com/aksonov/react-native-router-flux/issues/1672)\n- Closed [\\#1667](https://github.com/aksonov/react-native-router-flux/issues/1667)\n- A scene takes time to close [\\#1664](https://github.com/aksonov/react-native-router-flux/issues/1664)\n- Navigation Bar: Back button No changing color [\\#1662](https://github.com/aksonov/react-native-router-flux/issues/1662)\n- How to disable fade out animation for previous scene? [\\#1646](https://github.com/aksonov/react-native-router-flux/issues/1646)\n- Unknown white background [\\#1639](https://github.com/aksonov/react-native-router-flux/issues/1639)\n- Actions.\\[key\\] not work in custom nav bar [\\#1632](https://github.com/aksonov/react-native-router-flux/issues/1632)\n- Example of custom scene transition  [\\#1631](https://github.com/aksonov/react-native-router-flux/issues/1631)\n- How \"Native\" Is This Router? [\\#1623](https://github.com/aksonov/react-native-router-flux/issues/1623)\n- Dynamically changing tab bar title [\\#1620](https://github.com/aksonov/react-native-router-flux/issues/1620)\n- is it possible no animation without replace ? [\\#1619](https://github.com/aksonov/react-native-router-flux/issues/1619)\n- Back action does not clear the states of the unmounted component [\\#1613](https://github.com/aksonov/react-native-router-flux/issues/1613)\n- How to access right navbar button inside component [\\#1609](https://github.com/aksonov/react-native-router-flux/issues/1609)\n- Component property is not set error [\\#1604](https://github.com/aksonov/react-native-router-flux/issues/1604)\n- Navbar custom wrapper proposal [\\#1462](https://github.com/aksonov/react-native-router-flux/issues/1462)\n- How to properly wrap Router inside other component? [\\#1446](https://github.com/aksonov/react-native-router-flux/issues/1446)\n- Navigation retains previous view on top of another \\(Map\\) [\\#989](https://github.com/aksonov/react-native-router-flux/issues/989)\n\n**Merged pull requests:**\n\n- Fix RN 0.44 compatibility [\\#1819](https://github.com/aksonov/react-native-router-flux/pull/1819) ([kesha-antonov](https://github.com/kesha-antonov))\n- Maintain tab parentIndex when jumping tabs [\\#1775](https://github.com/aksonov/react-native-router-flux/pull/1775) ([OhaiBBQ](https://github.com/OhaiBBQ))\n- Add selection view to show below navigationBarTitleImage [\\#1756](https://github.com/aksonov/react-native-router-flux/pull/1756) ([filipemonteiroth](https://github.com/filipemonteiroth))\n- update documentation for nested routing [\\#1742](https://github.com/aksonov/react-native-router-flux/pull/1742) ([cosmos-sajal](https://github.com/cosmos-sajal))\n- add 'fade' to direction type in TypeScript types [\\#1705](https://github.com/aksonov/react-native-router-flux/pull/1705) ([yuche](https://github.com/yuche))\n- fixed issue \\#1688 \\(in accordance with https://github.com/facebook/rea… [\\#1691](https://github.com/aksonov/react-native-router-flux/pull/1691) ([drgrey87](https://github.com/drgrey87))\n- Fix checkPropertiesEqual [\\#1682](https://github.com/aksonov/react-native-router-flux/pull/1682) ([barakcoh](https://github.com/barakcoh))\n- Add navBarTitleImage prop [\\#1663](https://github.com/aksonov/react-native-router-flux/pull/1663) ([filipemonteiroth](https://github.com/filipemonteiroth))\n- Change back button direction in RTL mode [\\#1661](https://github.com/aksonov/react-native-router-flux/pull/1661) ([MaxToyberman](https://github.com/MaxToyberman))\n- Revert \"pass props\" [\\#1660](https://github.com/aksonov/react-native-router-flux/pull/1660) ([aksonov](https://github.com/aksonov))\n- Fix for panGestures and Animation [\\#1618](https://github.com/aksonov/react-native-router-flux/pull/1618) ([Jlexyc](https://github.com/Jlexyc))\n- add `tabBarBackgroundImageStyle` prop [\\#1611](https://github.com/aksonov/react-native-router-flux/pull/1611) ([soulwu](https://github.com/soulwu))\n- Added backAndroidHandler to routerProps typings [\\#1586](https://github.com/aksonov/react-native-router-flux/pull/1586) ([andwaal](https://github.com/andwaal))\n- Changes drawer button side according with drawer.props.side [\\#1584](https://github.com/aksonov/react-native-router-flux/pull/1584) ([lucianomlima](https://github.com/lucianomlima))\n- pass props [\\#1549](https://github.com/aksonov/react-native-router-flux/pull/1549) ([indatawetrust](https://github.com/indatawetrust))\n- Adding sizes NavBar for Windows [\\#1548](https://github.com/aksonov/react-native-router-flux/pull/1548) ([jmarrot](https://github.com/jmarrot))\n- Added icon to SceneProps type [\\#1546](https://github.com/aksonov/react-native-router-flux/pull/1546) ([iyegoroff](https://github.com/iyegoroff))\n\n## [3.38.0](https://github.com/aksonov/react-native-router-flux/tree/3.38.0) (2017-03-01)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/v3.35.0...3.38.0)\n\n**Implemented enhancements:**\n\n- Update testing and CI [\\#1414](https://github.com/aksonov/react-native-router-flux/issues/1414)\n- Cleaning of branches [\\#795](https://github.com/aksonov/react-native-router-flux/issues/795)\n\n**Closed issues:**\n\n- tabs not work [\\#1651](https://github.com/aksonov/react-native-router-flux/issues/1651)\n- Blank view during transition [\\#1647](https://github.com/aksonov/react-native-router-flux/issues/1647)\n- How to have global footer in every scene in 3.x? [\\#1645](https://github.com/aksonov/react-native-router-flux/issues/1645)\n-  native router flux custom back button [\\#1644](https://github.com/aksonov/react-native-router-flux/issues/1644)\n- React Native with Redux dispatching action [\\#1643](https://github.com/aksonov/react-native-router-flux/issues/1643)\n- oops [\\#1642](https://github.com/aksonov/react-native-router-flux/issues/1642)\n- Use RNRF with redux-sagas [\\#1641](https://github.com/aksonov/react-native-router-flux/issues/1641)\n- Hot reloading does work with TabView while it works with other Scene [\\#1625](https://github.com/aksonov/react-native-router-flux/issues/1625)\n- Issue Purge [\\#1624](https://github.com/aksonov/react-native-router-flux/issues/1624)\n- Refresh parent page only if something is changed in child page [\\#1617](https://github.com/aksonov/react-native-router-flux/issues/1617)\n- How to directly go to the non-first scene of the sibling scene. [\\#1615](https://github.com/aksonov/react-native-router-flux/issues/1615)\n- How to use Back Action while unmounting Current Component? [\\#1608](https://github.com/aksonov/react-native-router-flux/issues/1608)\n- Drawer image not showing up  [\\#1599](https://github.com/aksonov/react-native-router-flux/issues/1599)\n- How to navigate based on a condition in RNRF react native [\\#1598](https://github.com/aksonov/react-native-router-flux/issues/1598)\n- Reusing scene to push to for different tabs [\\#1592](https://github.com/aksonov/react-native-router-flux/issues/1592)\n- Implement onLeft, onRight right way????? [\\#1590](https://github.com/aksonov/react-native-router-flux/issues/1590)\n- Support: How to set portrait only Scene , Thanks [\\#1588](https://github.com/aksonov/react-native-router-flux/issues/1588)\n- 2 x Drawers \\(left and right\\) [\\#1585](https://github.com/aksonov/react-native-router-flux/issues/1585)\n- how to use react-native-router-flux with react-native-scrollable-tab-view? [\\#1579](https://github.com/aksonov/react-native-router-flux/issues/1579)\n-  I have Seen This error Can you Solve this [\\#1577](https://github.com/aksonov/react-native-router-flux/issues/1577)\n- Pop modals and show modals [\\#1570](https://github.com/aksonov/react-native-router-flux/issues/1570)\n- Toolbar color changes when using Switch component [\\#1566](https://github.com/aksonov/react-native-router-flux/issues/1566)\n- Back transition faster with remote debugging on [\\#1564](https://github.com/aksonov/react-native-router-flux/issues/1564)\n- Arguments to Actions ignored [\\#1559](https://github.com/aksonov/react-native-router-flux/issues/1559)\n- Change back transition animation [\\#1551](https://github.com/aksonov/react-native-router-flux/issues/1551)\n- Getting white screen while redux action is performing [\\#1543](https://github.com/aksonov/react-native-router-flux/issues/1543)\n- Question: Is there a way to disable the sliding animation of the title? [\\#1537](https://github.com/aksonov/react-native-router-flux/issues/1537)\n- Would like to be able to use icon as title in navBar [\\#1535](https://github.com/aksonov/react-native-router-flux/issues/1535)\n- conflicts with another child [\\#1534](https://github.com/aksonov/react-native-router-flux/issues/1534)\n- Pavel, do you do freelance work? [\\#1528](https://github.com/aksonov/react-native-router-flux/issues/1528)\n- Splitting Scenes does not work [\\#1527](https://github.com/aksonov/react-native-router-flux/issues/1527)\n- Scene Conflict When Using Modal From Tab Button [\\#1526](https://github.com/aksonov/react-native-router-flux/issues/1526)\n- Custom Reducer Using combineReducer Does Not Intercept RNRF Actions [\\#1523](https://github.com/aksonov/react-native-router-flux/issues/1523)\n- hideBackImage hides but NOT disable [\\#1515](https://github.com/aksonov/react-native-router-flux/issues/1515)\n- navigationState.children\\[2\\].key \"scene\\_profileTab\\_profileToFollow\\_1\\_profileToFollow\" conflicts withanother child! [\\#1514](https://github.com/aksonov/react-native-router-flux/issues/1514)\n- undefined is not a function \\('evaluating '\\_reactNativeRouterFlux…\\) [\\#1511](https://github.com/aksonov/react-native-router-flux/issues/1511)\n- Remove back button from navbar [\\#1509](https://github.com/aksonov/react-native-router-flux/issues/1509)\n- Native module cannot be null [\\#1508](https://github.com/aksonov/react-native-router-flux/issues/1508)\n- Action.\\<key\\> Not Routing to Siblings? [\\#1494](https://github.com/aksonov/react-native-router-flux/issues/1494)\n- How can I show a Google AdMobBanner with RNRF? [\\#1482](https://github.com/aksonov/react-native-router-flux/issues/1482)\n- Increase back swipe gesture grab range [\\#1474](https://github.com/aksonov/react-native-router-flux/issues/1474)\n- Error: \"Attempted to assign to readonly property\" when using back-button in a RouterWithRedux [\\#1469](https://github.com/aksonov/react-native-router-flux/issues/1469)\n- Console \"Key foo is already defined!\" when Android device is rotated [\\#1461](https://github.com/aksonov/react-native-router-flux/issues/1461)\n- drawer [\\#1457](https://github.com/aksonov/react-native-router-flux/issues/1457)\n- Navigation Top Bar has no height in App Store releases [\\#1455](https://github.com/aksonov/react-native-router-flux/issues/1455)\n- Question : How can i get Component data from Navigation Scene [\\#1454](https://github.com/aksonov/react-native-router-flux/issues/1454)\n- How can i get NavBar's onRight fun? [\\#1450](https://github.com/aksonov/react-native-router-flux/issues/1450)\n- Disable zoom animation [\\#1444](https://github.com/aksonov/react-native-router-flux/issues/1444)\n- What is the best way to do something \"onTabClicked\"?  [\\#1439](https://github.com/aksonov/react-native-router-flux/issues/1439)\n- How to use the drawer in more complex router with flux? [\\#1435](https://github.com/aksonov/react-native-router-flux/issues/1435)\n- Props not passed from tab scene to sibling scene [\\#1434](https://github.com/aksonov/react-native-router-flux/issues/1434)\n- Tab bar not showing on Android [\\#1429](https://github.com/aksonov/react-native-router-flux/issues/1429)\n- How can I keep panHandlers on iOS but not on Android [\\#1426](https://github.com/aksonov/react-native-router-flux/issues/1426)\n- \\[Navigation Bar\\] Title animation direction [\\#1420](https://github.com/aksonov/react-native-router-flux/issues/1420)\n- Help to understand sub-scene and modals [\\#1419](https://github.com/aksonov/react-native-router-flux/issues/1419)\n- Set Dynamic tabBarStyle [\\#1412](https://github.com/aksonov/react-native-router-flux/issues/1412)\n- Tab onSelection function [\\#1408](https://github.com/aksonov/react-native-router-flux/issues/1408)\n- Navigate to the same component [\\#1407](https://github.com/aksonov/react-native-router-flux/issues/1407)\n- Why are view components with flex: 1 stay under the navigation and tab bars? [\\#1401](https://github.com/aksonov/react-native-router-flux/issues/1401)\n- Modal dispatch actions but not showing other scene [\\#1400](https://github.com/aksonov/react-native-router-flux/issues/1400)\n- back\\_chevron.png goes missing in Release build [\\#1391](https://github.com/aksonov/react-native-router-flux/issues/1391)\n- Not able to pass prop through Actions after upgrade to 3.37.0 [\\#1390](https://github.com/aksonov/react-native-router-flux/issues/1390)\n- Background Image across multiple scenes [\\#1388](https://github.com/aksonov/react-native-router-flux/issues/1388)\n- How to change color of menu burger icon [\\#1380](https://github.com/aksonov/react-native-router-flux/issues/1380)\n- Scenes inside Modal don't have navigationState and onNavigate props. [\\#1379](https://github.com/aksonov/react-native-router-flux/issues/1379)\n- Set initial route on split scenes [\\#1377](https://github.com/aksonov/react-native-router-flux/issues/1377)\n- Actions.xx\\({type:ActionConst.PUSH}\\) doesn't  work [\\#1372](https://github.com/aksonov/react-native-router-flux/issues/1372)\n- tions [\\#1371](https://github.com/aksonov/react-native-router-flux/issues/1371)\n- Show badge number on Tab at Tabbar [\\#1362](https://github.com/aksonov/react-native-router-flux/issues/1362)\n- onPress button don't open my drawer [\\#1360](https://github.com/aksonov/react-native-router-flux/issues/1360)\n- Navigation bar not visible when using drawer menu [\\#1354](https://github.com/aksonov/react-native-router-flux/issues/1354)\n- Customize NavBar [\\#1346](https://github.com/aksonov/react-native-router-flux/issues/1346)\n- Get Current Scene Key [\\#1345](https://github.com/aksonov/react-native-router-flux/issues/1345)\n- Cannot find route with key=xx for parent =0\\_xx \\(sidemenu\\) [\\#1344](https://github.com/aksonov/react-native-router-flux/issues/1344)\n- Example not working on XCode 8 [\\#1340](https://github.com/aksonov/react-native-router-flux/issues/1340)\n- Use tab to open drawer [\\#1338](https://github.com/aksonov/react-native-router-flux/issues/1338)\n- Is there a TouchableOpacity wrapper for my tabbar icon? [\\#1336](https://github.com/aksonov/react-native-router-flux/issues/1336)\n- Navbar / Initital Scene rendering issue [\\#1334](https://github.com/aksonov/react-native-router-flux/issues/1334)\n- How to position tab bar on top? [\\#1333](https://github.com/aksonov/react-native-router-flux/issues/1333)\n- react-native-navigation with react-native-router-flux [\\#1332](https://github.com/aksonov/react-native-router-flux/issues/1332)\n- Push Scene from within A Tab Scene [\\#1331](https://github.com/aksonov/react-native-router-flux/issues/1331)\n- Scenes inside tabs getting unmounted and then re-mounted [\\#1329](https://github.com/aksonov/react-native-router-flux/issues/1329)\n- Pop without animation [\\#1325](https://github.com/aksonov/react-native-router-flux/issues/1325)\n- NavBar won't display if split\\(nested\\) scenes wrapped in Drawer [\\#1324](https://github.com/aksonov/react-native-router-flux/issues/1324)\n- Save/cancel changes to component from navbar buttons [\\#1322](https://github.com/aksonov/react-native-router-flux/issues/1322)\n- how to open parents router scene when in child router. [\\#1319](https://github.com/aksonov/react-native-router-flux/issues/1319)\n- navigationBarBackgroundImage usage [\\#1310](https://github.com/aksonov/react-native-router-flux/issues/1310)\n- Returning to previous Activity when orientation changes [\\#1308](https://github.com/aksonov/react-native-router-flux/issues/1308)\n- Scene title is not updated while title={title} value was changed [\\#1307](https://github.com/aksonov/react-native-router-flux/issues/1307)\n- Can react-native-router-flux suport time travel with redux-devtools? And how? [\\#1306](https://github.com/aksonov/react-native-router-flux/issues/1306)\n- Send props to tabicons? [\\#1304](https://github.com/aksonov/react-native-router-flux/issues/1304)\n- does it support plain javascript object [\\#1303](https://github.com/aksonov/react-native-router-flux/issues/1303)\n- Is there a method called on a component when it is navigated to? [\\#1300](https://github.com/aksonov/react-native-router-flux/issues/1300)\n- Initial Component in TabBar Mounted Twice [\\#1293](https://github.com/aksonov/react-native-router-flux/issues/1293)\n- Example build breaks on XCode 8 [\\#1291](https://github.com/aksonov/react-native-router-flux/issues/1291)\n- Unexpected back button target [\\#1286](https://github.com/aksonov/react-native-router-flux/issues/1286)\n- Expected onPress listener to be a function, instead got type boolean [\\#1280](https://github.com/aksonov/react-native-router-flux/issues/1280)\n- Cant return a initial Scene from Drawer [\\#1278](https://github.com/aksonov/react-native-router-flux/issues/1278)\n- Not Working on Release Build? [\\#1277](https://github.com/aksonov/react-native-router-flux/issues/1277)\n- \\[Android\\] Release APK crashes with \\<Router\\> [\\#1276](https://github.com/aksonov/react-native-router-flux/issues/1276)\n- 找不到符号 BuildConfig.DEBUG; [\\#1272](https://github.com/aksonov/react-native-router-flux/issues/1272)\n- The initial tab with scrollable views witch  can not be scrolled when tap between tabs and back to the initial tab [\\#1270](https://github.com/aksonov/react-native-router-flux/issues/1270)\n- Can't test with tape due to unbuilt version [\\#1269](https://github.com/aksonov/react-native-router-flux/issues/1269)\n- Example on how to create two drawers? Left & Right? [\\#1256](https://github.com/aksonov/react-native-router-flux/issues/1256)\n- Same component used, when pushed componentDidMount not called [\\#1254](https://github.com/aksonov/react-native-router-flux/issues/1254)\n- Is it possible to hide a particular tab in TabBar from inside a scene? [\\#1247](https://github.com/aksonov/react-native-router-flux/issues/1247)\n- Question: Using clone={true} [\\#1245](https://github.com/aksonov/react-native-router-flux/issues/1245)\n- Error using redux and Switch [\\#1242](https://github.com/aksonov/react-native-router-flux/issues/1242)\n- onPress working without pressing it. [\\#1240](https://github.com/aksonov/react-native-router-flux/issues/1240)\n- Can't retrieve the selected status of a tab to change icon color [\\#1234](https://github.com/aksonov/react-native-router-flux/issues/1234)\n- Testing in appium [\\#1229](https://github.com/aksonov/react-native-router-flux/issues/1229)\n- NavigationAnimatedView has been replaced by NavigationTransitioner [\\#1228](https://github.com/aksonov/react-native-router-flux/issues/1228)\n- Drawer is showing [\\#1213](https://github.com/aksonov/react-native-router-flux/issues/1213)\n- Tab bar with sectioned views [\\#1203](https://github.com/aksonov/react-native-router-flux/issues/1203)\n- Can i add component to left or right side, and not just text? [\\#1201](https://github.com/aksonov/react-native-router-flux/issues/1201)\n- left or right button text not show [\\#1200](https://github.com/aksonov/react-native-router-flux/issues/1200)\n- Same component mounted 2 times when nested. using tabs and clone [\\#1195](https://github.com/aksonov/react-native-router-flux/issues/1195)\n- Scene stops responding on pop or pushing scene back into view [\\#1188](https://github.com/aksonov/react-native-router-flux/issues/1188)\n- Setting status bar component for all scenes [\\#1183](https://github.com/aksonov/react-native-router-flux/issues/1183)\n- Action.pop\\(\\) in drawer side menu is not working  [\\#1178](https://github.com/aksonov/react-native-router-flux/issues/1178)\n- Remove Back Button For Android [\\#1173](https://github.com/aksonov/react-native-router-flux/issues/1173)\n- Scene not unmounting using Switch [\\#1170](https://github.com/aksonov/react-native-router-flux/issues/1170)\n- Button unpressable [\\#1169](https://github.com/aksonov/react-native-router-flux/issues/1169)\n- Can't install the Example on Android [\\#1167](https://github.com/aksonov/react-native-router-flux/issues/1167)\n- You are already in the root scene \\(on back / pop\\) [\\#1165](https://github.com/aksonov/react-native-router-flux/issues/1165)\n- mponent [\\#1164](https://github.com/aksonov/react-native-router-flux/issues/1164)\n- BackAndroid not working with react-native-router-flux [\\#1163](https://github.com/aksonov/react-native-router-flux/issues/1163)\n- Change TabIcon from the scene [\\#1161](https://github.com/aksonov/react-native-router-flux/issues/1161)\n- Documentation for customizing nav bar [\\#1157](https://github.com/aksonov/react-native-router-flux/issues/1157)\n- Dropdown overlay issue in Android [\\#1152](https://github.com/aksonov/react-native-router-flux/issues/1152)\n- navigationState doesn't include all tab children [\\#1151](https://github.com/aksonov/react-native-router-flux/issues/1151)\n- Component from the previous scene when i push a new scene [\\#1149](https://github.com/aksonov/react-native-router-flux/issues/1149)\n- Actions.SCENE on navbar not working [\\#1145](https://github.com/aksonov/react-native-router-flux/issues/1145)\n- Modal outside/on top of drawer height [\\#1141](https://github.com/aksonov/react-native-router-flux/issues/1141)\n- How to change route within reducer? [\\#1139](https://github.com/aksonov/react-native-router-flux/issues/1139)\n- Rerendering a tab when clicking to it? [\\#1138](https://github.com/aksonov/react-native-router-flux/issues/1138)\n- ignore [\\#1126](https://github.com/aksonov/react-native-router-flux/issues/1126)\n- MapView swipe down issue in scene with direction=\"vertical\"  [\\#1116](https://github.com/aksonov/react-native-router-flux/issues/1116)\n- Is navigator object available as props in component [\\#1113](https://github.com/aksonov/react-native-router-flux/issues/1113)\n- \\[Error\\]: react-native-router-flux\\] component property is not set for key=root  [\\#1108](https://github.com/aksonov/react-native-router-flux/issues/1108)\n- Initial scene not shown [\\#1091](https://github.com/aksonov/react-native-router-flux/issues/1091)\n- What do the ActionConst do? [\\#1072](https://github.com/aksonov/react-native-router-flux/issues/1072)\n- Problem when showing WebView in drawer \\(maybe also in tab\\) [\\#1068](https://github.com/aksonov/react-native-router-flux/issues/1068)\n- How to set custom drawer button that is not an image? [\\#1051](https://github.com/aksonov/react-native-router-flux/issues/1051)\n- Can't create dropdown button in navbar [\\#1042](https://github.com/aksonov/react-native-router-flux/issues/1042)\n- How should I put some common components into every scene? [\\#1034](https://github.com/aksonov/react-native-router-flux/issues/1034)\n- Put Image at the navBar [\\#1027](https://github.com/aksonov/react-native-router-flux/issues/1027)\n- how can i reset 'switch' and pop some pages? [\\#1023](https://github.com/aksonov/react-native-router-flux/issues/1023)\n- Unmounted scenes after reset [\\#1019](https://github.com/aksonov/react-native-router-flux/issues/1019)\n- navbar can not transparent [\\#1017](https://github.com/aksonov/react-native-router-flux/issues/1017)\n- UNMET PEER DEPENDENCY react@^15.3.0 [\\#991](https://github.com/aksonov/react-native-router-flux/issues/991)\n- How to use switch when we use Drawer Component [\\#990](https://github.com/aksonov/react-native-router-flux/issues/990)\n- Weird background color [\\#948](https://github.com/aksonov/react-native-router-flux/issues/948)\n- Tabbed Scenes to hide/show tabbar on listview scroll down/up? [\\#898](https://github.com/aksonov/react-native-router-flux/issues/898)\n- Drawer swipe on replace [\\#889](https://github.com/aksonov/react-native-router-flux/issues/889)\n\n**Merged pull requests:**\n\n- Documentation for drawer \\(side menu\\) integration [\\#1614](https://github.com/aksonov/react-native-router-flux/pull/1614) ([jeongmincha](https://github.com/jeongmincha))\n- \\#1216 - Add `open` prop to TS declaration [\\#1576](https://github.com/aksonov/react-native-router-flux/pull/1576) ([BrendanBerkley](https://github.com/BrendanBerkley))\n- Code Climate config  [\\#1542](https://github.com/aksonov/react-native-router-flux/pull/1542) ([larkinscott](https://github.com/larkinscott))\n- Add Travis CI config file [\\#1522](https://github.com/aksonov/react-native-router-flux/pull/1522) ([Swordsman-Inaction](https://github.com/Swordsman-Inaction))\n- Fix eslint errors [\\#1521](https://github.com/aksonov/react-native-router-flux/pull/1521) ([Swordsman-Inaction](https://github.com/Swordsman-Inaction))\n- Added BusDue app to README [\\#1501](https://github.com/aksonov/react-native-router-flux/pull/1501) ([ywongweb](https://github.com/ywongweb))\n- Update API\\_CONFIGURATION.md [\\#1488](https://github.com/aksonov/react-native-router-flux/pull/1488) ([javiercr](https://github.com/javiercr))\n- Pass props down to child components [\\#1472](https://github.com/aksonov/react-native-router-flux/pull/1472) ([DonnieWest](https://github.com/DonnieWest))\n- Fix android back error [\\#1451](https://github.com/aksonov/react-native-router-flux/pull/1451) ([Swordsman-Inaction](https://github.com/Swordsman-Inaction))\n- Update Eslint and Airbnb rules [\\#1425](https://github.com/aksonov/react-native-router-flux/pull/1425) ([MechanicKim](https://github.com/MechanicKim))\n- Fix ci [\\#1422](https://github.com/aksonov/react-native-router-flux/pull/1422) ([charpeni](https://github.com/charpeni))\n- clarify prop types [\\#1416](https://github.com/aksonov/react-native-router-flux/pull/1416) ([johnstonmatt](https://github.com/johnstonmatt))\n- Temporarily disable jest testing on Example project [\\#1415](https://github.com/aksonov/react-native-router-flux/pull/1415) ([charpeni](https://github.com/charpeni))\n- Revert \"fixing issue \\#1167\" [\\#1413](https://github.com/aksonov/react-native-router-flux/pull/1413) ([charpeni](https://github.com/charpeni))\n- add type support for panHandlers={null} in Scene [\\#1404](https://github.com/aksonov/react-native-router-flux/pull/1404) ([wcandillon](https://github.com/wcandillon))\n- Fix not available navigationState and onNavigate in Modal [\\#1392](https://github.com/aksonov/react-native-router-flux/pull/1392) ([inferusvv](https://github.com/inferusvv))\n- Update API\\_CONFIGURATION.md [\\#1375](https://github.com/aksonov/react-native-router-flux/pull/1375) ([ximenean](https://github.com/ximenean))\n- DEL width for the button in NavBar [\\#1368](https://github.com/aksonov/react-native-router-flux/pull/1368) ([sarovin](https://github.com/sarovin))\n- fix imports in redux example for current RN version [\\#1321](https://github.com/aksonov/react-native-router-flux/pull/1321) ([Simek](https://github.com/Simek))\n- Restore 0.35 JUMP handling [\\#1312](https://github.com/aksonov/react-native-router-flux/pull/1312) ([wrozka](https://github.com/wrozka))\n- Add NodeICO badge. [\\#1295](https://github.com/aksonov/react-native-router-flux/pull/1295) ([dragfire](https://github.com/dragfire))\n- Add production app - Buddify [\\#1292](https://github.com/aksonov/react-native-router-flux/pull/1292) ([ecoinomist](https://github.com/ecoinomist))\n- Add more detail information on TabBar [\\#1287](https://github.com/aksonov/react-native-router-flux/pull/1287) ([dragfire](https://github.com/dragfire))\n- Update REDUX\\_FLUX.md [\\#1271](https://github.com/aksonov/react-native-router-flux/pull/1271) ([moaxaca](https://github.com/moaxaca))\n- Improved RNRFActions interface definition [\\#1244](https://github.com/aksonov/react-native-router-flux/pull/1244) ([jankalfus](https://github.com/jankalfus))\n- correction to \\#1057 [\\#1236](https://github.com/aksonov/react-native-router-flux/pull/1236) ([alexicum](https://github.com/alexicum))\n- Provide routes to scene's context [\\#1232](https://github.com/aksonov/react-native-router-flux/pull/1232) ([peteychuk](https://github.com/peteychuk))\n- Add a production app - Look Lock [\\#1225](https://github.com/aksonov/react-native-router-flux/pull/1225) ([7kfpun](https://github.com/7kfpun))\n- Change license to MIT [\\#1212](https://github.com/aksonov/react-native-router-flux/pull/1212) ([charpeni](https://github.com/charpeni))\n- Update OTHER\\_INFO.md [\\#1205](https://github.com/aksonov/react-native-router-flux/pull/1205) ([roura356a](https://github.com/roura356a))\n- titleWrapperStyle from props [\\#1185](https://github.com/aksonov/react-native-router-flux/pull/1185) ([stereodenis](https://github.com/stereodenis))\n- Allow the passing of props via the popTo Action [\\#1172](https://github.com/aksonov/react-native-router-flux/pull/1172) ([rseemann](https://github.com/rseemann))\n- Update OTHER\\_INFO.md [\\#1171](https://github.com/aksonov/react-native-router-flux/pull/1171) ([sadika9](https://github.com/sadika9))\n- fixing issue \\#1167 [\\#1168](https://github.com/aksonov/react-native-router-flux/pull/1168) ([compojoom](https://github.com/compojoom))\n- adding snappatizer to readme [\\#1153](https://github.com/aksonov/react-native-router-flux/pull/1153) ([erdostom](https://github.com/erdostom))\n- Fix syntax error in example [\\#1140](https://github.com/aksonov/react-native-router-flux/pull/1140) ([RafalWilinski](https://github.com/RafalWilinski))\n- fix routes not initialized on parent componentDidMount [\\#1137](https://github.com/aksonov/react-native-router-flux/pull/1137) ([atlanteh](https://github.com/atlanteh))\n- Fix Jest Snapshot and add CircleCi badge [\\#1135](https://github.com/aksonov/react-native-router-flux/pull/1135) ([charpeni](https://github.com/charpeni))\n- Revert \"Revert \"Support passing props to tab routes\"\" [\\#1133](https://github.com/aksonov/react-native-router-flux/pull/1133) ([aksonov](https://github.com/aksonov))\n- export TabbedView [\\#1132](https://github.com/aksonov/react-native-router-flux/pull/1132) ([n7olkachev](https://github.com/n7olkachev))\n- Revert \"Support passing props to tab routes\" [\\#1129](https://github.com/aksonov/react-native-router-flux/pull/1129) ([aksonov](https://github.com/aksonov))\n- Add action const POP\\_AND\\_REPLACE [\\#1119](https://github.com/aksonov/react-native-router-flux/pull/1119) ([bifrost](https://github.com/bifrost))\n- update note to prevent `Key is already defined` [\\#1098](https://github.com/aksonov/react-native-router-flux/pull/1098) ([zxcpoiu](https://github.com/zxcpoiu))\n- add ActionConst and Scene.type explaination [\\#1097](https://github.com/aksonov/react-native-router-flux/pull/1097) ([zxcpoiu](https://github.com/zxcpoiu))\n- Allow to force parent tabs to hide when child tabs is added [\\#1094](https://github.com/aksonov/react-native-router-flux/pull/1094) ([fkoester](https://github.com/fkoester))\n- Fix for back button not displayed when pushing tabs scene. [\\#1093](https://github.com/aksonov/react-native-router-flux/pull/1093) ([fkoester](https://github.com/fkoester))\n- \\[Fixed 1087\\] Long titles display with a dots at the end, not hidden behind the buttons [\\#1088](https://github.com/aksonov/react-native-router-flux/pull/1088) ([lesniakania](https://github.com/lesniakania))\n- Make possible to specify background image for the Tabs [\\#1083](https://github.com/aksonov/react-native-router-flux/pull/1083) ([januswel](https://github.com/januswel))\n- Make possible to specify background image for the NavBar [\\#1082](https://github.com/aksonov/react-native-router-flux/pull/1082) ([januswel](https://github.com/januswel))\n- pass direction to getPanHandlers [\\#1059](https://github.com/aksonov/react-native-router-flux/pull/1059) ([vonovak](https://github.com/vonovak))\n- Support passing props to tab routes [\\#1057](https://github.com/aksonov/react-native-router-flux/pull/1057) ([benstepp](https://github.com/benstepp))\n\n## [v3.35.0](https://github.com/aksonov/react-native-router-flux/tree/v3.35.0) (2016-08-25)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/3.30.1...v3.35.0)\n\n**Closed issues:**\n\n- How to disable title bar on certain scenes? [\\#1107](https://github.com/aksonov/react-native-router-flux/issues/1107)\n- Defining custom buttons on root scene [\\#1080](https://github.com/aksonov/react-native-router-flux/issues/1080)\n- How to customize drawer button [\\#1078](https://github.com/aksonov/react-native-router-flux/issues/1078)\n- How to call a function in scene component when scene left or right button is clicked? [\\#1073](https://github.com/aksonov/react-native-router-flux/issues/1073)\n- panHandlers not honored with nested scenes [\\#1055](https://github.com/aksonov/react-native-router-flux/issues/1055)\n- navBar and Expected a component class, got \\[object, Object\\] [\\#1041](https://github.com/aksonov/react-native-router-flux/issues/1041)\n- \\[Help wanted\\] Keep routing state on simulator reload [\\#1025](https://github.com/aksonov/react-native-router-flux/issues/1025)\n- Unable to resolve module fbjs/lib/emptyFunction [\\#1024](https://github.com/aksonov/react-native-router-flux/issues/1024)\n- Unable to resolve module react-addons-pure-render-mixin [\\#1022](https://github.com/aksonov/react-native-router-flux/issues/1022)\n- Unknown plugin \"syntax-flow\" [\\#1020](https://github.com/aksonov/react-native-router-flux/issues/1020)\n- NavigationExperimental.js: \\_\\_DEV\\_\\_ is not defined [\\#1015](https://github.com/aksonov/react-native-router-flux/issues/1015)\n- support BackAndroid hardwareBackPress [\\#1012](https://github.com/aksonov/react-native-router-flux/issues/1012)\n- How can I pass variables to previouse scene in Actions.pop\\(\\) operation [\\#1008](https://github.com/aksonov/react-native-router-flux/issues/1008)\n- Push Scene from a tab [\\#1007](https://github.com/aksonov/react-native-router-flux/issues/1007)\n- How to navigate to a new scene with onRight [\\#993](https://github.com/aksonov/react-native-router-flux/issues/993)\n- Best way to dispatch a redux action from within the toolbar actions?  [\\#984](https://github.com/aksonov/react-native-router-flux/issues/984)\n- initialRoute doesn't set initial route [\\#971](https://github.com/aksonov/react-native-router-flux/issues/971)\n- How is the header implemented in the Example app [\\#967](https://github.com/aksonov/react-native-router-flux/issues/967)\n- Tab bar transition [\\#966](https://github.com/aksonov/react-native-router-flux/issues/966)\n- Can't run examples [\\#963](https://github.com/aksonov/react-native-router-flux/issues/963)\n- TabBar is not showing [\\#959](https://github.com/aksonov/react-native-router-flux/issues/959)\n- Unmounting Scenes [\\#955](https://github.com/aksonov/react-native-router-flux/issues/955)\n- RN 0.30 Incompatibility [\\#954](https://github.com/aksonov/react-native-router-flux/issues/954)\n- Switch component don't work [\\#952](https://github.com/aksonov/react-native-router-flux/issues/952)\n- Issue [\\#951](https://github.com/aksonov/react-native-router-flux/issues/951)\n- Is it possible to fire action when clicking on the title of the navbar [\\#949](https://github.com/aksonov/react-native-router-flux/issues/949)\n- We get 'Import libraries to android \"rnpm link\"' screen on app launch and the app stops [\\#946](https://github.com/aksonov/react-native-router-flux/issues/946)\n- React Native Tabs version in RNRF [\\#935](https://github.com/aksonov/react-native-router-flux/issues/935)\n- Tab Transitions [\\#929](https://github.com/aksonov/react-native-router-flux/issues/929)\n- Event Listener for Route Change? or something similar [\\#928](https://github.com/aksonov/react-native-router-flux/issues/928)\n- Background image [\\#927](https://github.com/aksonov/react-native-router-flux/issues/927)\n- react-native-scrollable-tab-view is slow when put inside a scene [\\#924](https://github.com/aksonov/react-native-router-flux/issues/924)\n- borderTopWidth for tabBarStyle does not work well if it is set to decimal fraction on iPhone 6/6s Plus [\\#921](https://github.com/aksonov/react-native-router-flux/issues/921)\n- 0.29 support? [\\#910](https://github.com/aksonov/react-native-router-flux/issues/910)\n- Can I Actions with programmatically?  [\\#907](https://github.com/aksonov/react-native-router-flux/issues/907)\n- peerDependencies issue with react 15.2.0 [\\#905](https://github.com/aksonov/react-native-router-flux/issues/905)\n- Possibility to use icons in navbar [\\#902](https://github.com/aksonov/react-native-router-flux/issues/902)\n- Question: is there any easy way to set a navigation title based on a component or a redux state? [\\#897](https://github.com/aksonov/react-native-router-flux/issues/897)\n- Components lifecycle [\\#896](https://github.com/aksonov/react-native-router-flux/issues/896)\n- Scene {type:'reset'} or type=\"reset\" is not working in 3.30.4 version. [\\#894](https://github.com/aksonov/react-native-router-flux/issues/894)\n- flowtype  report so many error [\\#892](https://github.com/aksonov/react-native-router-flux/issues/892)\n- How can i add gradient in background color of navbar? [\\#890](https://github.com/aksonov/react-native-router-flux/issues/890)\n- Example Launch.js action cannot go to tabbar specific tab page [\\#884](https://github.com/aksonov/react-native-router-flux/issues/884)\n- Tabbar gone, but tabIcons are still there [\\#883](https://github.com/aksonov/react-native-router-flux/issues/883)\n- Drawer seems to break everything? [\\#881](https://github.com/aksonov/react-native-router-flux/issues/881)\n- Right button Icon sizes not working? Where to override styling for navigation icons. [\\#880](https://github.com/aksonov/react-native-router-flux/issues/880)\n- A bug in Example's TabBar page [\\#879](https://github.com/aksonov/react-native-router-flux/issues/879)\n- Actions.KEY\\_NAME doesn't do anything.  [\\#876](https://github.com/aksonov/react-native-router-flux/issues/876)\n- Run two actions on Sidebar onPress function [\\#869](https://github.com/aksonov/react-native-router-flux/issues/869)\n- Fade from one scene to another? [\\#867](https://github.com/aksonov/react-native-router-flux/issues/867)\n- 'RCTTextField not a descendant of RCTShadowView' crash when TextInput is focused [\\#865](https://github.com/aksonov/react-native-router-flux/issues/865)\n- Image instead of string for scene title... [\\#863](https://github.com/aksonov/react-native-router-flux/issues/863)\n- assemble cannot package backicon.png.  Looks like file name is wrong, missing delimiters. [\\#859](https://github.com/aksonov/react-native-router-flux/issues/859)\n- Switch without replacing [\\#858](https://github.com/aksonov/react-native-router-flux/issues/858)\n- pushing additional modals onto the navigation stack  [\\#856](https://github.com/aksonov/react-native-router-flux/issues/856)\n- APK building fails with 3.30.0 on windows [\\#852](https://github.com/aksonov/react-native-router-flux/issues/852)\n- Duplicate module name: AutoFocusUtils [\\#849](https://github.com/aksonov/react-native-router-flux/issues/849)\n- Can't implement react-native-drawer : 'unique key should be defined' [\\#845](https://github.com/aksonov/react-native-router-flux/issues/845)\n- Possible to define Navigator Stack 'type' in Action call? [\\#844](https://github.com/aksonov/react-native-router-flux/issues/844)\n- Back button color  [\\#840](https://github.com/aksonov/react-native-router-flux/issues/840)\n- leftButtonImage does not render [\\#837](https://github.com/aksonov/react-native-router-flux/issues/837)\n- set Icons in tabbar  [\\#832](https://github.com/aksonov/react-native-router-flux/issues/832)\n- typescript definitions broken? [\\#830](https://github.com/aksonov/react-native-router-flux/issues/830)\n- document action types \\(pop,jump,refresh etc\\) [\\#829](https://github.com/aksonov/react-native-router-flux/issues/829)\n- Unmet Peer Dependency from latest version of this library [\\#822](https://github.com/aksonov/react-native-router-flux/issues/822)\n- Version 3.30.0 on npm causes errors with npm start [\\#814](https://github.com/aksonov/react-native-router-flux/issues/814)\n- BackAction not dispatched when I swipe a Schene. [\\#807](https://github.com/aksonov/react-native-router-flux/issues/807)\n- Disable \"swipe to go back\" for modal [\\#796](https://github.com/aksonov/react-native-router-flux/issues/796)\n- Routing from inside a tab scene to outside it breaks the navbar [\\#773](https://github.com/aksonov/react-native-router-flux/issues/773)\n\n**Merged pull requests:**\n\n- Add \"chozun\" production app [\\#1104](https://github.com/aksonov/react-native-router-flux/pull/1104) ([eulo](https://github.com/eulo))\n- Update DefaultRenderer.js [\\#1058](https://github.com/aksonov/react-native-router-flux/pull/1058) ([vonovak](https://github.com/vonovak))\n- Add default style to renderLeftButton and renderRightButton [\\#1054](https://github.com/aksonov/react-native-router-flux/pull/1054) ([moschan](https://github.com/moschan))\n- Feat\\(BackAndroid\\): Add handler for Back Key in Android [\\#1049](https://github.com/aksonov/react-native-router-flux/pull/1049) ([Swordsman-Inaction](https://github.com/Swordsman-Inaction))\n- added getRightTitle and getLeftTitle [\\#1043](https://github.com/aksonov/react-native-router-flux/pull/1043) ([wtfil](https://github.com/wtfil))\n- Add documentation for left to right option added on PR\\#1032 [\\#1036](https://github.com/aksonov/react-native-router-flux/pull/1036) ([stephy](https://github.com/stephy))\n- Add 'leftToRight' direction support [\\#1032](https://github.com/aksonov/react-native-router-flux/pull/1032) ([stephy](https://github.com/stephy))\n- Add Jest Snapshot and configure CircleCi parallelism [\\#1029](https://github.com/aksonov/react-native-router-flux/pull/1029) ([charpeni](https://github.com/charpeni))\n- ADD react-addons-pure-render-mixin dependency [\\#1021](https://github.com/aksonov/react-native-router-flux/pull/1021) ([sarovin](https://github.com/sarovin))\n- Allow POP and similar actions to refresh the previous scene [\\#1016](https://github.com/aksonov/react-native-router-flux/pull/1016) ([doomsower](https://github.com/doomsower))\n- Restore statem [\\#1013](https://github.com/aksonov/react-native-router-flux/pull/1013) ([aksonov](https://github.com/aksonov))\n- ADD shouldComponentUpdate for DefaultRenderer [\\#1006](https://github.com/aksonov/react-native-router-flux/pull/1006) ([sarovin](https://github.com/sarovin))\n- refactor \\#996 [\\#1002](https://github.com/aksonov/react-native-router-flux/pull/1002) ([sarovin](https://github.com/sarovin))\n- fix\\(NavBar\\): don't render custom BackButton if root nav state [\\#998](https://github.com/aksonov/react-native-router-flux/pull/998) ([blackxored](https://github.com/blackxored))\n- Fix minor typo in docs [\\#986](https://github.com/aksonov/react-native-router-flux/pull/986) ([eronisko](https://github.com/eronisko))\n- feat\\(navBar\\): add optional titleProps to NavBar [\\#968](https://github.com/aksonov/react-native-router-flux/pull/968) ([sondremare](https://github.com/sondremare))\n- Add ActionsConst to index.d.ts [\\#964](https://github.com/aksonov/react-native-router-flux/pull/964) ([stephenlaughton](https://github.com/stephenlaughton))\n- Scene - implemented getPanHandlers prop [\\#961](https://github.com/aksonov/react-native-router-flux/pull/961) ([philipshurpik](https://github.com/philipshurpik))\n- Actions get [\\#957](https://github.com/aksonov/react-native-router-flux/pull/957) ([aksonov](https://github.com/aksonov))\n- Feat\\(TabBar\\): add pressOpacity for TabBar [\\#956](https://github.com/aksonov/react-native-router-flux/pull/956) ([Swordsman-Inaction](https://github.com/Swordsman-Inaction))\n- Add pushOrPop action - it will pop if scene exists in the stack, push… [\\#947](https://github.com/aksonov/react-native-router-flux/pull/947) ([aksonov](https://github.com/aksonov))\n- Add \"Junk Free\" production app [\\#941](https://github.com/aksonov/react-native-router-flux/pull/941) ([Olliepop](https://github.com/Olliepop))\n- Update tabs version [\\#940](https://github.com/aksonov/react-native-router-flux/pull/940) ([andrispraulitis](https://github.com/andrispraulitis))\n- fix\\(navigationState\\): avoid undefined key for root scenes [\\#936](https://github.com/aksonov/react-native-router-flux/pull/936) ([blackxored](https://github.com/blackxored))\n- added new switch feature - unmountScenes [\\#932](https://github.com/aksonov/react-native-router-flux/pull/932) ([ms88privat](https://github.com/ms88privat))\n- added Modal example usage to OTHER\\_INFO.md for issue number \\#893 [\\#923](https://github.com/aksonov/react-native-router-flux/pull/923) ([brien-crean](https://github.com/brien-crean))\n- Document PopNum [\\#916](https://github.com/aksonov/react-native-router-flux/pull/916) ([K-Leon](https://github.com/K-Leon))\n- Fix typo error. [\\#912](https://github.com/aksonov/react-native-router-flux/pull/912) ([LittleLin](https://github.com/LittleLin))\n- \\[RFC\\] add parent and key as prefix to new key [\\#911](https://github.com/aksonov/react-native-router-flux/pull/911) ([joenoon](https://github.com/joenoon))\n- Revert \"refactor \\#870\" [\\#901](https://github.com/aksonov/react-native-router-flux/pull/901) ([aksonov](https://github.com/aksonov))\n- normalize action name with prefix and expose it from module [\\#900](https://github.com/aksonov/react-native-router-flux/pull/900) ([zxcpoiu](https://github.com/zxcpoiu))\n- Revert \"Prefix action strings to namespace them.\" [\\#899](https://github.com/aksonov/react-native-router-flux/pull/899) ([aksonov](https://github.com/aksonov))\n- refactor \\#870 [\\#886](https://github.com/aksonov/react-native-router-flux/pull/886) ([joenoon](https://github.com/joenoon))\n- Added optional tabBarIconContainerStyle property to override the style of the icon container view. [\\#875](https://github.com/aksonov/react-native-router-flux/pull/875) ([SudoPlz](https://github.com/SudoPlz))\n- Removed fontWeight style from NavBar title [\\#873](https://github.com/aksonov/react-native-router-flux/pull/873) ([andrispraulitis](https://github.com/andrispraulitis))\n- add latest statem support [\\#871](https://github.com/aksonov/react-native-router-flux/pull/871) ([aksonov](https://github.com/aksonov))\n- Allow for one scene to fade into the next in addition to horizontal/vertical [\\#868](https://github.com/aksonov/react-native-router-flux/pull/868) ([andyschwob](https://github.com/andyschwob))\n- Cleanup babel dependencies [\\#866](https://github.com/aksonov/react-native-router-flux/pull/866) ([charpeni](https://github.com/charpeni))\n- Fix missing brackets in docs [\\#861](https://github.com/aksonov/react-native-router-flux/pull/861) ([dustin-H](https://github.com/dustin-H))\n- Use ./components/TabIcon [\\#851](https://github.com/aksonov/react-native-router-flux/pull/851) ([sarovin](https://github.com/sarovin))\n- Add eslint import/no-unresolved config [\\#847](https://github.com/aksonov/react-native-router-flux/pull/847) ([charpeni](https://github.com/charpeni))\n- Replace `assert` in Switch.js with custom `assert` [\\#846](https://github.com/aksonov/react-native-router-flux/pull/846) ([Kerumen](https://github.com/Kerumen))\n- Prefix action strings to namespace them. [\\#843](https://github.com/aksonov/react-native-router-flux/pull/843) ([ThaJay](https://github.com/ThaJay))\n- remove extra rnrf tab styling [\\#839](https://github.com/aksonov/react-native-router-flux/pull/839) ([joenoon](https://github.com/joenoon))\n- Render leftButtonImage [\\#838](https://github.com/aksonov/react-native-router-flux/pull/838) ([rowellx68](https://github.com/rowellx68))\n- Revert \"Feature Hand Back Key for Android\" [\\#835](https://github.com/aksonov/react-native-router-flux/pull/835) ([aksonov](https://github.com/aksonov))\n- Fix typescript definition [\\#831](https://github.com/aksonov/react-native-router-flux/pull/831) ([xirc](https://github.com/xirc))\n- tabs show onPress item [\\#828](https://github.com/aksonov/react-native-router-flux/pull/828) ([phproot](https://github.com/phproot))\n- Fix NavBar backButtonImage propType [\\#826](https://github.com/aksonov/react-native-router-flux/pull/826) ([asokol](https://github.com/asokol))\n- use js instead of jsx in readme code block [\\#825](https://github.com/aksonov/react-native-router-flux/pull/825) ([chentsulin](https://github.com/chentsulin))\n- Default left button size unless size is overwritten [\\#824](https://github.com/aksonov/react-native-router-flux/pull/824) ([codyhazelwood](https://github.com/codyhazelwood))\n- Fix in Typescript definitions [\\#823](https://github.com/aksonov/react-native-router-flux/pull/823) ([dalcib](https://github.com/dalcib))\n- \\[actions\\]: \\(fix\\): fix the case when there's no array defined to map sub-views [\\#821](https://github.com/aksonov/react-native-router-flux/pull/821) ([alextkd](https://github.com/alextkd))\n- Feature Hand Back Key for Android [\\#820](https://github.com/aksonov/react-native-router-flux/pull/820) ([Swordsman-Inaction](https://github.com/Swordsman-Inaction))\n- Alignment the elements for the navbar [\\#818](https://github.com/aksonov/react-native-router-flux/pull/818) ([sarovin](https://github.com/sarovin))\n\n## [3.30.1](https://github.com/aksonov/react-native-router-flux/tree/3.30.1) (2016-06-15)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/3.26.0...3.30.1)\n\n**Fixed bugs:**\n\n- Element type is invalid [\\#728](https://github.com/aksonov/react-native-router-flux/issues/728)\n- `Router` is undefined on RN 0.26.1 [\\#727](https://github.com/aksonov/react-native-router-flux/issues/727)\n- tabs scene not rendering anymore =\\> hideTabBar not working [\\#722](https://github.com/aksonov/react-native-router-flux/issues/722)\n- \\[v3.26.1\\] Drawer Button don't display [\\#710](https://github.com/aksonov/react-native-router-flux/issues/710)\n- Adding styles to a tab bar causes poor performance [\\#687](https://github.com/aksonov/react-native-router-flux/issues/687)\n- Scenes seems to be recreated on every dispatched redux action  [\\#685](https://github.com/aksonov/react-native-router-flux/issues/685)\n- Nav image flicker between scene transitions. [\\#442](https://github.com/aksonov/react-native-router-flux/issues/442)\n\n**Closed issues:**\n\n- Inner Scenes render position left -3 [\\#819](https://github.com/aksonov/react-native-router-flux/issues/819)\n- Custom Tab Bar [\\#816](https://github.com/aksonov/react-native-router-flux/issues/816)\n- what's the difference between reset and replace? [\\#813](https://github.com/aksonov/react-native-router-flux/issues/813)\n- Scene dynamic initial [\\#812](https://github.com/aksonov/react-native-router-flux/issues/812)\n- Back button [\\#810](https://github.com/aksonov/react-native-router-flux/issues/810)\n- Go back to any scene before current one? [\\#804](https://github.com/aksonov/react-native-router-flux/issues/804)\n- Cannot pop twice [\\#803](https://github.com/aksonov/react-native-router-flux/issues/803)\n- If you are passing component={Drawer} to show your DrawerLayout, how are you opening/closing it using the navbar burger button? [\\#799](https://github.com/aksonov/react-native-router-flux/issues/799)\n- \\[New Feature\\] Modifiers for refresh action [\\#797](https://github.com/aksonov/react-native-router-flux/issues/797)\n- Prop for drawerImage placement on `left` and `right` of navigationBar [\\#794](https://github.com/aksonov/react-native-router-flux/issues/794)\n- Avoid `rightButtonImage` or `rightTitle` warning when set to `null` [\\#790](https://github.com/aksonov/react-native-router-flux/issues/790)\n- onLeft and leftTitle do not work using Example on tab2\\_2 [\\#789](https://github.com/aksonov/react-native-router-flux/issues/789)\n- React native 27 is out 3 hours ago. Any plans for 3.27.0? [\\#786](https://github.com/aksonov/react-native-router-flux/issues/786)\n- Search field in navbar loses focus after animation [\\#783](https://github.com/aksonov/react-native-router-flux/issues/783)\n- Actions error and navigationState.children conflicts with another child! [\\#782](https://github.com/aksonov/react-native-router-flux/issues/782)\n- Passing parameters via Action does not work [\\#778](https://github.com/aksonov/react-native-router-flux/issues/778)\n- \\[Question\\] Best way to Synch state across scenes using Default Reducer. [\\#777](https://github.com/aksonov/react-native-router-flux/issues/777)\n- Actions.callback is not defined [\\#775](https://github.com/aksonov/react-native-router-flux/issues/775)\n- Example is not working [\\#772](https://github.com/aksonov/react-native-router-flux/issues/772)\n- Key \\<keyname\\> is already defined! [\\#768](https://github.com/aksonov/react-native-router-flux/issues/768)\n- Jump action is no longer called when Switch route changes. [\\#766](https://github.com/aksonov/react-native-router-flux/issues/766)\n- Error: RCTUIManager.dispatchViewManagerCommand must not be null [\\#762](https://github.com/aksonov/react-native-router-flux/issues/762)\n- Switch is not rendering the right scene correctly [\\#760](https://github.com/aksonov/react-native-router-flux/issues/760)\n- routing using keys in props  [\\#757](https://github.com/aksonov/react-native-router-flux/issues/757)\n- How could I make custom navBar fixed on the top ? [\\#755](https://github.com/aksonov/react-native-router-flux/issues/755)\n- How to replace drawer icon and back icon [\\#754](https://github.com/aksonov/react-native-router-flux/issues/754)\n- Dispatch redux action before Switch's selector picks a scene? [\\#753](https://github.com/aksonov/react-native-router-flux/issues/753)\n- custom navBar being rendered twice and to the bottom of the scene [\\#752](https://github.com/aksonov/react-native-router-flux/issues/752)\n- Assistance with custom navbar [\\#751](https://github.com/aksonov/react-native-router-flux/issues/751)\n- nested routes with same scene [\\#750](https://github.com/aksonov/react-native-router-flux/issues/750)\n- Navbar buttons need to access scene component methods [\\#747](https://github.com/aksonov/react-native-router-flux/issues/747)\n- hideNavBar does not work on scene  [\\#746](https://github.com/aksonov/react-native-router-flux/issues/746)\n- unable to use type=\"push\" [\\#741](https://github.com/aksonov/react-native-router-flux/issues/741)\n- After upgrade version to 3.22, renderRightButton is not correctly displayed. [\\#738](https://github.com/aksonov/react-native-router-flux/issues/738)\n- Re-implement hidden tabs from tabbar behavior [\\#736](https://github.com/aksonov/react-native-router-flux/issues/736)\n- navigationState and onNavigate property should be not null [\\#735](https://github.com/aksonov/react-native-router-flux/issues/735)\n-  expected a string \\(for built-in components\\) or a class/function \\(for composite components\\) but got: undefined. Check the render method of `TabNavigator`. [\\#725](https://github.com/aksonov/react-native-router-flux/issues/725)\n- How to intercept loading scene to check authentication first ?  [\\#719](https://github.com/aksonov/react-native-router-flux/issues/719)\n- on a Scene, componentDidMount only gets called once and componentWillReceiveProps never gets called [\\#718](https://github.com/aksonov/react-native-router-flux/issues/718)\n-  Remove default style [\\#716](https://github.com/aksonov/react-native-router-flux/issues/716)\n- RNRF v3.26.1 / RN 0.26.1 Error: \"navigationState and onNavigate property should be not null\" [\\#715](https://github.com/aksonov/react-native-router-flux/issues/715)\n- Show the navbar from within Scene programmatically [\\#714](https://github.com/aksonov/react-native-router-flux/issues/714)\n- Drawer icon size is much bigger than it should be [\\#713](https://github.com/aksonov/react-native-router-flux/issues/713)\n- Duplicate navbar when using drawer and nested scenes [\\#711](https://github.com/aksonov/react-native-router-flux/issues/711)\n- \\[Update to RN 0.26\\] Warning: Failed propType: SceneView: prop type `sceneRendererProps` is invalid [\\#708](https://github.com/aksonov/react-native-router-flux/issues/708)\n- Implementing Actions.xxx in function [\\#707](https://github.com/aksonov/react-native-router-flux/issues/707)\n- Warning due to a upgrade react-native to 0.26 \\[using key props\\] [\\#705](https://github.com/aksonov/react-native-router-flux/issues/705)\n- Unable to resolve module buffer [\\#697](https://github.com/aksonov/react-native-router-flux/issues/697)\n- 404 looking for image icons [\\#671](https://github.com/aksonov/react-native-router-flux/issues/671)\n- 0.25 Support [\\#636](https://github.com/aksonov/react-native-router-flux/issues/636)\n- sub-scene example is invalid [\\#615](https://github.com/aksonov/react-native-router-flux/issues/615)\n- Key is already defined! [\\#607](https://github.com/aksonov/react-native-router-flux/issues/607)\n- Discussion: RN NavigationExperimental API bugs/breaking changes, future direction of the project [\\#557](https://github.com/aksonov/react-native-router-flux/issues/557)\n- Please STOP creating new and new issues regarding 0.23 version, component requires 0.22 now [\\#525](https://github.com/aksonov/react-native-router-flux/issues/525)\n- Redux integration [\\#517](https://github.com/aksonov/react-native-router-flux/issues/517)\n\n**Merged pull requests:**\n\n- UPDATE Docs with titleOpacity property [\\#811](https://github.com/aksonov/react-native-router-flux/pull/811) ([sarovin](https://github.com/sarovin))\n- ADD Opacity Property for the Title of NavBar [\\#808](https://github.com/aksonov/react-native-router-flux/pull/808) ([sarovin](https://github.com/sarovin))\n- Feature\\(multiple pop\\): now we can pop multipe scenes with Actions.pop [\\#806](https://github.com/aksonov/react-native-router-flux/pull/806) ([Swordsman-Inaction](https://github.com/Swordsman-Inaction))\n- Update README.md [\\#805](https://github.com/aksonov/react-native-router-flux/pull/805) ([vonovak](https://github.com/vonovak))\n- add a more custom drawer menu icon to open side navigation [\\#802](https://github.com/aksonov/react-native-router-flux/pull/802) ([alextkd](https://github.com/alextkd))\n- \\[tabs\\]: add custom selected item tab style [\\#801](https://github.com/aksonov/react-native-router-flux/pull/801) ([alextkd](https://github.com/alextkd))\n- \\[Feature/Action\\] Enable the popping of multiple scenes [\\#798](https://github.com/aksonov/react-native-router-flux/pull/798) ([rseemann](https://github.com/rseemann))\n- \\[actions\\]: add support when dealing Scenes defined using array map [\\#793](https://github.com/aksonov/react-native-router-flux/pull/793) ([alextkd](https://github.com/alextkd))\n- 790: Avoid rightButtonImage or rightTitle warnings when set to null [\\#791](https://github.com/aksonov/react-native-router-flux/pull/791) ([vpasquier](https://github.com/vpasquier))\n- Update main README.md - Include RN 27 Compatibility notes [\\#788](https://github.com/aksonov/react-native-router-flux/pull/788) ([rturk](https://github.com/rturk))\n- remove unneeded dependency [\\#779](https://github.com/aksonov/react-native-router-flux/pull/779) ([vonovak](https://github.com/vonovak))\n- add typings [\\#774](https://github.com/aksonov/react-native-router-flux/pull/774) ([bang88](https://github.com/bang88))\n- Fix incorrect vertical animation [\\#767](https://github.com/aksonov/react-native-router-flux/pull/767) ([colinyoung](https://github.com/colinyoung))\n- Update README.md [\\#761](https://github.com/aksonov/react-native-router-flux/pull/761) ([wootwoot1234](https://github.com/wootwoot1234))\n- fix Example/package, to install React 15.0.2, instead of a new version [\\#748](https://github.com/aksonov/react-native-router-flux/pull/748) ([sibelius](https://github.com/sibelius))\n- WIP old tab bar [\\#743](https://github.com/aksonov/react-native-router-flux/pull/743) ([joenoon](https://github.com/joenoon))\n- Update README.md - Include RN Compatibility table [\\#742](https://github.com/aksonov/react-native-router-flux/pull/742) ([rturk](https://github.com/rturk))\n- Remove Example folder from eslint [\\#740](https://github.com/aksonov/react-native-router-flux/pull/740) ([charpeni](https://github.com/charpeni))\n- Add prop to override the tabBar shadow style [\\#739](https://github.com/aksonov/react-native-router-flux/pull/739) ([laurentnguyen42](https://github.com/laurentnguyen42))\n- Fix Typo in Switch referring to this.props [\\#737](https://github.com/aksonov/react-native-router-flux/pull/737) ([SirensOfTitan](https://github.com/SirensOfTitan))\n- Bug with sidemenu as is in RN 0.26 [\\#734](https://github.com/aksonov/react-native-router-flux/pull/734) ([jeroenbourgois](https://github.com/jeroenbourgois))\n- Update test dependencies [\\#730](https://github.com/aksonov/react-native-router-flux/pull/730) ([charpeni](https://github.com/charpeni))\n- UPDATE README: Add `Epic Fail Videos` as a production app using the plugin [\\#712](https://github.com/aksonov/react-native-router-flux/pull/712) ([donnguyen](https://github.com/donnguyen))\n- Fixed style proptypes in NavBar.js [\\#706](https://github.com/aksonov/react-native-router-flux/pull/706) ([cornedor](https://github.com/cornedor))\n\n## [3.26.0](https://github.com/aksonov/react-native-router-flux/tree/3.26.0) (2016-05-20)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/3.22.0...3.26.0)\n\n**Closed issues:**\n\n- Error with menu\\_burger.png [\\#703](https://github.com/aksonov/react-native-router-flux/issues/703)\n- \"replace\" and \"reset\" not working? [\\#695](https://github.com/aksonov/react-native-router-flux/issues/695)\n- Unable to run tests with Mocha  [\\#694](https://github.com/aksonov/react-native-router-flux/issues/694)\n- Issue Causing ReactNative.createElement [\\#693](https://github.com/aksonov/react-native-router-flux/issues/693)\n- RCTRootView.h' file not found [\\#691](https://github.com/aksonov/react-native-router-flux/issues/691)\n- Use tabbar,Click the tab item,the page will render again. [\\#690](https://github.com/aksonov/react-native-router-flux/issues/690)\n- Actions aren't fired within react-native-side-menu based components [\\#676](https://github.com/aksonov/react-native-router-flux/issues/676)\n- Image Flickering when navigating to another View [\\#675](https://github.com/aksonov/react-native-router-flux/issues/675)\n- scenes Actions.create is broken ?  [\\#674](https://github.com/aksonov/react-native-router-flux/issues/674)\n- Process 'command 'node'' finished with non-zero exit value 1 [\\#666](https://github.com/aksonov/react-native-router-flux/issues/666)\n- current master branch navigationState conflict on RN 0.24.1 [\\#664](https://github.com/aksonov/react-native-router-flux/issues/664)\n- From within a scene, put an icon in the navbar [\\#663](https://github.com/aksonov/react-native-router-flux/issues/663)\n- Why does it create new instances of component every tab switch? [\\#660](https://github.com/aksonov/react-native-router-flux/issues/660)\n- Setting Action.x\\({type: 'replace'}\\) does nothing [\\#659](https://github.com/aksonov/react-native-router-flux/issues/659)\n- Remove shadow on DefaultRenderer [\\#658](https://github.com/aksonov/react-native-router-flux/issues/658)\n- Memory leak and there are alot of setState warning when rotate screen after calling screen transition [\\#657](https://github.com/aksonov/react-native-router-flux/issues/657)\n- Change props of previous view [\\#656](https://github.com/aksonov/react-native-router-flux/issues/656)\n- NavBar Title not updated when navigate to a different scene [\\#652](https://github.com/aksonov/react-native-router-flux/issues/652)\n- Ability to provide the left/right navbar buttons from the rendered component [\\#647](https://github.com/aksonov/react-native-router-flux/issues/647)\n- The best way to change Title in the tabbar. [\\#646](https://github.com/aksonov/react-native-router-flux/issues/646)\n- how to jump into a child page? [\\#645](https://github.com/aksonov/react-native-router-flux/issues/645)\n- Example Application error [\\#640](https://github.com/aksonov/react-native-router-flux/issues/640)\n- Requiring React API in React Native version \\>= 25.1 is being deprecated. [\\#638](https://github.com/aksonov/react-native-router-flux/issues/638)\n- Action.reset\\(\\) [\\#633](https://github.com/aksonov/react-native-router-flux/issues/633)\n- How to update Tabbar ? [\\#630](https://github.com/aksonov/react-native-router-flux/issues/630)\n- Direction attribute no longer working [\\#629](https://github.com/aksonov/react-native-router-flux/issues/629)\n- tests failing due to non transpiled code in node\\_modules [\\#628](https://github.com/aksonov/react-native-router-flux/issues/628)\n- Having component on root Scene stops transition animations on underlying transitions [\\#627](https://github.com/aksonov/react-native-router-flux/issues/627)\n- Possibility to turn of gestures [\\#619](https://github.com/aksonov/react-native-router-flux/issues/619)\n- Huge memory leak when layout changes [\\#616](https://github.com/aksonov/react-native-router-flux/issues/616)\n- Version 3.22.23 on npm in broken [\\#613](https://github.com/aksonov/react-native-router-flux/issues/613)\n- Expected corresponding JSX closing tag for \\<RouterWithRedux\\> [\\#611](https://github.com/aksonov/react-native-router-flux/issues/611)\n- Force component to render before switching to it. [\\#599](https://github.com/aksonov/react-native-router-flux/issues/599)\n- Per state view - Sample [\\#593](https://github.com/aksonov/react-native-router-flux/issues/593)\n- multiple import for one files to scene, not working! [\\#592](https://github.com/aksonov/react-native-router-flux/issues/592)\n- Please help figure out how create new \"secured\" stack of scenes inside root scene. Is it possible? [\\#591](https://github.com/aksonov/react-native-router-flux/issues/591)\n- hideNavBar is not working on the last version [\\#590](https://github.com/aksonov/react-native-router-flux/issues/590)\n- Can not route back to a scene which type is 'reset' or 'replace' [\\#588](https://github.com/aksonov/react-native-router-flux/issues/588)\n- undefined is not an object \\(evaluating 'child.type.prototype'\\) [\\#587](https://github.com/aksonov/react-native-router-flux/issues/587)\n- NavBar's height should not be 64pt in Android [\\#586](https://github.com/aksonov/react-native-router-flux/issues/586)\n- \"direction\" no long works [\\#584](https://github.com/aksonov/react-native-router-flux/issues/584)\n- Android hardware back button, and styling [\\#581](https://github.com/aksonov/react-native-router-flux/issues/581)\n- Tab Bar [\\#580](https://github.com/aksonov/react-native-router-flux/issues/580)\n- Cannot find scene with key=xxxx and Switch [\\#579](https://github.com/aksonov/react-native-router-flux/issues/579)\n- Toggle burger button for V3 [\\#578](https://github.com/aksonov/react-native-router-flux/issues/578)\n- Inactive tabs are not unmounted [\\#577](https://github.com/aksonov/react-native-router-flux/issues/577)\n- Customize \\<Tab\\> [\\#576](https://github.com/aksonov/react-native-router-flux/issues/576)\n- Navbar Icon to trigger method on scene? [\\#575](https://github.com/aksonov/react-native-router-flux/issues/575)\n- Replace Scenes with custom components not working. [\\#573](https://github.com/aksonov/react-native-router-flux/issues/573)\n- Implied Routes [\\#571](https://github.com/aksonov/react-native-router-flux/issues/571)\n- Component property is not set for key=Main [\\#569](https://github.com/aksonov/react-native-router-flux/issues/569)\n- Version for Redux integration ?? [\\#568](https://github.com/aksonov/react-native-router-flux/issues/568)\n- Code style linter and CI [\\#567](https://github.com/aksonov/react-native-router-flux/issues/567)\n- While using Actions.pop\\(\\), which stack we are dealing with? How can I get that stack? [\\#565](https://github.com/aksonov/react-native-router-flux/issues/565)\n- how the table was added in modal? [\\#562](https://github.com/aksonov/react-native-router-flux/issues/562)\n- How to get the navigation bar Dimensions from within a Schene? [\\#561](https://github.com/aksonov/react-native-router-flux/issues/561)\n- \"Cannot find scene with key = drawer\" error with Switch [\\#560](https://github.com/aksonov/react-native-router-flux/issues/560)\n- Suggest new feature for this plugin. Can add the protype 'onPress'  to scene [\\#556](https://github.com/aksonov/react-native-router-flux/issues/556)\n- Problem with redux state and Switch after upgrading RN to v0.24 [\\#555](https://github.com/aksonov/react-native-router-flux/issues/555)\n- Disable horizontal swipe to go back [\\#554](https://github.com/aksonov/react-native-router-flux/issues/554)\n- undefined is not an object NavigationCardStackStyleInterpolator.forHorizontal [\\#552](https://github.com/aksonov/react-native-router-flux/issues/552)\n- Actions.xxx\\({type: 'reset'}\\) not work [\\#551](https://github.com/aksonov/react-native-router-flux/issues/551)\n- Changing tab re-mounts the tab item Scene component [\\#549](https://github.com/aksonov/react-native-router-flux/issues/549)\n- Actions.xxx no response [\\#548](https://github.com/aksonov/react-native-router-flux/issues/548)\n- Back button Style [\\#546](https://github.com/aksonov/react-native-router-flux/issues/546)\n- How to get navigator object inside component? [\\#544](https://github.com/aksonov/react-native-router-flux/issues/544)\n- Is there a way to hide navbar when orientation changes? [\\#541](https://github.com/aksonov/react-native-router-flux/issues/541)\n- Unable to use openDrawer\\(\\) in component js file [\\#540](https://github.com/aksonov/react-native-router-flux/issues/540)\n- Adding Promise compatibility to selector function for Switch component  [\\#532](https://github.com/aksonov/react-native-router-flux/issues/532)\n- How do I get the current screen? [\\#528](https://github.com/aksonov/react-native-router-flux/issues/528)\n- Correct Way to Implement Drawer [\\#524](https://github.com/aksonov/react-native-router-flux/issues/524)\n- Adding custom animations [\\#523](https://github.com/aksonov/react-native-router-flux/issues/523)\n- Crash when Back button is tapped during animation [\\#520](https://github.com/aksonov/react-native-router-flux/issues/520)\n- Click back button ON DEFAULT SCENE [\\#511](https://github.com/aksonov/react-native-router-flux/issues/511)\n- tracking React Native 0.24 compatibility/issues [\\#489](https://github.com/aksonov/react-native-router-flux/issues/489)\n- No animations after upgrade react-native to 0.23 [\\#481](https://github.com/aksonov/react-native-router-flux/issues/481)\n- Seeking Guidance on Notification Icon Implementation [\\#478](https://github.com/aksonov/react-native-router-flux/issues/478)\n- Tab click returns to initial scene [\\#477](https://github.com/aksonov/react-native-router-flux/issues/477)\n- Navbar appears at bottom in RNv0.23 [\\#476](https://github.com/aksonov/react-native-router-flux/issues/476)\n- Type 'replace' not replacing view [\\#474](https://github.com/aksonov/react-native-router-flux/issues/474)\n- getState warning causes app to not render properly when opening the App [\\#472](https://github.com/aksonov/react-native-router-flux/issues/472)\n- Custom/Dynamic screen title in NavBar [\\#468](https://github.com/aksonov/react-native-router-flux/issues/468)\n- Injected props are not passed to renderNavigationBar [\\#466](https://github.com/aksonov/react-native-router-flux/issues/466)\n- Force re-render scene after pop [\\#465](https://github.com/aksonov/react-native-router-flux/issues/465)\n- How to change back button ? Any examples ? [\\#460](https://github.com/aksonov/react-native-router-flux/issues/460)\n- use pop action in initial scene will show error [\\#455](https://github.com/aksonov/react-native-router-flux/issues/455)\n- How to move scene in from left? [\\#453](https://github.com/aksonov/react-native-router-flux/issues/453)\n- sceneStyle ignored. [\\#452](https://github.com/aksonov/react-native-router-flux/issues/452)\n- renderBackButton does not take you back to previous route. [\\#446](https://github.com/aksonov/react-native-router-flux/issues/446)\n- Cannot find element for parent=SCENE\\_NAME within current state [\\#370](https://github.com/aksonov/react-native-router-flux/issues/370)\n- Forbid swiping back [\\#359](https://github.com/aksonov/react-native-router-flux/issues/359)\n\n**Merged pull requests:**\n\n- 0.26 stable [\\#701](https://github.com/aksonov/react-native-router-flux/pull/701) ([joenoon](https://github.com/joenoon))\n- remove dependency on assert [\\#698](https://github.com/aksonov/react-native-router-flux/pull/698) ([joenoon](https://github.com/joenoon))\n- replaced root readme [\\#678](https://github.com/aksonov/react-native-router-flux/pull/678) ([adrianmcli](https://github.com/adrianmcli))\n- New Documentation Structure [\\#673](https://github.com/aksonov/react-native-router-flux/pull/673) ([adrianmcli](https://github.com/adrianmcli))\n- was literal 'position' a typo? [\\#667](https://github.com/aksonov/react-native-router-flux/pull/667) ([joenoon](https://github.com/joenoon))\n- Fix eslint src/Navbar.js [\\#655](https://github.com/aksonov/react-native-router-flux/pull/655) ([charpeni](https://github.com/charpeni))\n- Fix circle.yml [\\#654](https://github.com/aksonov/react-native-router-flux/pull/654) ([charpeni](https://github.com/charpeni))\n- Send all props through to renderNavigationBar and renderTitle through props [\\#653](https://github.com/aksonov/react-native-router-flux/pull/653) ([mat2maa](https://github.com/mat2maa))\n- Fix eslint issues and add circle.yml [\\#650](https://github.com/aksonov/react-native-router-flux/pull/650) ([charpeni](https://github.com/charpeni))\n- Fix eslint Example/components/NavigationDrawer.js [\\#648](https://github.com/aksonov/react-native-router-flux/pull/648) ([charpeni](https://github.com/charpeni))\n- Fix eslint Example/components/Register.js [\\#644](https://github.com/aksonov/react-native-router-flux/pull/644) ([charpeni](https://github.com/charpeni))\n- Fix eslint Example/components/TabIcon.js [\\#643](https://github.com/aksonov/react-native-router-flux/pull/643) ([charpeni](https://github.com/charpeni))\n- Fix Eslint Example/components/TabView.js [\\#642](https://github.com/aksonov/react-native-router-flux/pull/642) ([charpeni](https://github.com/charpeni))\n- Fix AppRegistry and TabView render of Example [\\#641](https://github.com/aksonov/react-native-router-flux/pull/641) ([charpeni](https://github.com/charpeni))\n- Nicer readme [\\#639](https://github.com/aksonov/react-native-router-flux/pull/639) ([r0b1n](https://github.com/r0b1n))\n- FIX Deprecation in RN 0.25 [\\#637](https://github.com/aksonov/react-native-router-flux/pull/637) ([sarovin](https://github.com/sarovin))\n- Fix ESLint NavBar.js [\\#625](https://github.com/aksonov/react-native-router-flux/pull/625) ([sarovin](https://github.com/sarovin))\n- Fix NavBar height for Android [\\#624](https://github.com/aksonov/react-native-router-flux/pull/624) ([sarovin](https://github.com/sarovin))\n- Revert \"fix word\" [\\#622](https://github.com/aksonov/react-native-router-flux/pull/622) ([charpeni](https://github.com/charpeni))\n- fix word [\\#621](https://github.com/aksonov/react-native-router-flux/pull/621) ([cuitianze](https://github.com/cuitianze))\n- fix word [\\#620](https://github.com/aksonov/react-native-router-flux/pull/620) ([cuitianze](https://github.com/cuitianze))\n- Fix Reset and Replace [\\#618](https://github.com/aksonov/react-native-router-flux/pull/618) ([Zidail](https://github.com/Zidail))\n- Nicer readme. [\\#610](https://github.com/aksonov/react-native-router-flux/pull/610) ([r0b1n](https://github.com/r0b1n))\n- Fix eslint errors in State.js [\\#609](https://github.com/aksonov/react-native-router-flux/pull/609) ([charpeni](https://github.com/charpeni))\n- Fix for navigation Actions not returning true or false. [\\#608](https://github.com/aksonov/react-native-router-flux/pull/608) ([bburnham](https://github.com/bburnham))\n- Fix index.js [\\#606](https://github.com/aksonov/react-native-router-flux/pull/606) ([charpeni](https://github.com/charpeni))\n- Fix eslint errors in DefaultRenderer.js [\\#605](https://github.com/aksonov/react-native-router-flux/pull/605) ([mikefowler](https://github.com/mikefowler))\n- Cleanup Modal.js [\\#604](https://github.com/aksonov/react-native-router-flux/pull/604) ([mikefowler](https://github.com/mikefowler))\n- FIX ESlint TabBar.js [\\#603](https://github.com/aksonov/react-native-router-flux/pull/603) ([sarovin](https://github.com/sarovin))\n- Cleanup Router.js [\\#602](https://github.com/aksonov/react-native-router-flux/pull/602) ([mikefowler](https://github.com/mikefowler))\n- Fix eslint errors in Switch.js [\\#601](https://github.com/aksonov/react-native-router-flux/pull/601) ([mikefowler](https://github.com/mikefowler))\n- Fix NavBar height for Android [\\#598](https://github.com/aksonov/react-native-router-flux/pull/598) ([Kerumen](https://github.com/Kerumen))\n- Added tests for Reducer, small fixes and comments. [\\#597](https://github.com/aksonov/react-native-router-flux/pull/597) ([r0b1n](https://github.com/r0b1n))\n- app bar height [\\#596](https://github.com/aksonov/react-native-router-flux/pull/596) ([jeroenbourgois](https://github.com/jeroenbourgois))\n- Actions code styles and tests fixed. [\\#595](https://github.com/aksonov/react-native-router-flux/pull/595) ([r0b1n](https://github.com/r0b1n))\n- ADD .editorconfig [\\#594](https://github.com/aksonov/react-native-router-flux/pull/594) ([sarovin](https://github.com/sarovin))\n- Revert \"Fix some eslint errors\" [\\#589](https://github.com/aksonov/react-native-router-flux/pull/589) ([aksonov](https://github.com/aksonov))\n- Fix some eslint errors [\\#585](https://github.com/aksonov/react-native-router-flux/pull/585) ([charpeni](https://github.com/charpeni))\n- Adding an option to compute title for each screen [\\#583](https://github.com/aksonov/react-native-router-flux/pull/583) ([jondot](https://github.com/jondot))\n- Add eslint with eslint-config-airbnb [\\#574](https://github.com/aksonov/react-native-router-flux/pull/574) ([charpeni](https://github.com/charpeni))\n- hideNavBar hide scene only for current scene \\(3.24\\) [\\#572](https://github.com/aksonov/react-native-router-flux/pull/572) ([philipshurpik](https://github.com/philipshurpik))\n- Add Section for Companies/Production apps using react-native-router-flux [\\#559](https://github.com/aksonov/react-native-router-flux/pull/559) ([JamesWatling](https://github.com/JamesWatling))\n- fixes \\#552 [\\#553](https://github.com/aksonov/react-native-router-flux/pull/553) ([lynndylanhurley](https://github.com/lynndylanhurley))\n- add render title callback [\\#547](https://github.com/aksonov/react-native-router-flux/pull/547) ([timzaak](https://github.com/timzaak))\n- renderRightButton and renderLeftButton takes selected component as argument [\\#545](https://github.com/aksonov/react-native-router-flux/pull/545) ([jondot](https://github.com/jondot))\n- improve redux setup README [\\#543](https://github.com/aksonov/react-native-router-flux/pull/543) ([lynndylanhurley](https://github.com/lynndylanhurley))\n- Update redux instructions in README [\\#542](https://github.com/aksonov/react-native-router-flux/pull/542) ([lynndylanhurley](https://github.com/lynndylanhurley))\n- Revert \"Revert \"\\[WIP\\] Get Example app working with React 0.24+ \"\" [\\#539](https://github.com/aksonov/react-native-router-flux/pull/539) ([aksonov](https://github.com/aksonov))\n- Improve README [\\#535](https://github.com/aksonov/react-native-router-flux/pull/535) ([Kerumen](https://github.com/Kerumen))\n\n## [3.22.0](https://github.com/aksonov/react-native-router-flux/tree/3.22.0) (2016-04-18)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/3.2.3...3.22.0)\n\n**Implemented enhancements:**\n\n- New 3.0 version is released with breaking API changes, check README.md [\\#324](https://github.com/aksonov/react-native-router-flux/issues/324)\n\n**Fixed bugs:**\n\n- navigationState props breaks pure shouldComponentUpdate [\\#392](https://github.com/aksonov/react-native-router-flux/issues/392)\n\n**Closed issues:**\n\n- How to refresh after Actions.pop\\(\\)? [\\#529](https://github.com/aksonov/react-native-router-flux/issues/529)\n- Tabbar loads all scenes at mount, is lazy load possible? [\\#521](https://github.com/aksonov/react-native-router-flux/issues/521)\n- Push Navigation animation doesn't work in 3.2.10, 3.2.12 [\\#519](https://github.com/aksonov/react-native-router-flux/issues/519)\n- Multiple routers in an application [\\#513](https://github.com/aksonov/react-native-router-flux/issues/513)\n- How to reset history ? [\\#512](https://github.com/aksonov/react-native-router-flux/issues/512)\n- Switch from one scene in a tabbar to another scene in a other tabbar [\\#510](https://github.com/aksonov/react-native-router-flux/issues/510)\n- Actions.refresh\\({key: SCENE\\_KEY, props}\\) throws assertion error [\\#506](https://github.com/aksonov/react-native-router-flux/issues/506)\n- What is the right way for navigate in the signin view? [\\#502](https://github.com/aksonov/react-native-router-flux/issues/502)\n- How to show a Modal with just a Progress ? [\\#501](https://github.com/aksonov/react-native-router-flux/issues/501)\n- Android Requiring unknown module \"assert\" [\\#500](https://github.com/aksonov/react-native-router-flux/issues/500)\n- direction=\"vertical\" not working [\\#499](https://github.com/aksonov/react-native-router-flux/issues/499)\n- setState warning when calling a new route with type reset from componentDidMount [\\#498](https://github.com/aksonov/react-native-router-flux/issues/498)\n- tabbar doesn't work in react-native 0.24.0-rc3 [\\#495](https://github.com/aksonov/react-native-router-flux/issues/495)\n- Back button Warning [\\#494](https://github.com/aksonov/react-native-router-flux/issues/494)\n- Cannot interact with NavigationCard rendered scenes [\\#493](https://github.com/aksonov/react-native-router-flux/issues/493)\n- Passing state to Scene  through props [\\#492](https://github.com/aksonov/react-native-router-flux/issues/492)\n- Actions.login\\(\\) doesn't work if login Scene has type='replace' [\\#491](https://github.com/aksonov/react-native-router-flux/issues/491)\n- Does not route to scenes with \"type\" [\\#488](https://github.com/aksonov/react-native-router-flux/issues/488)\n- NavBar on Top of Tabs [\\#487](https://github.com/aksonov/react-native-router-flux/issues/487)\n- otherProps in Scene does not update at all [\\#485](https://github.com/aksonov/react-native-router-flux/issues/485)\n- Discuss - Replace Actions.destination\\({..data}\\); with Actions.go\\('destination',{...data}\\); [\\#484](https://github.com/aksonov/react-native-router-flux/issues/484)\n- Dependency Issue: \"Unmet peer dependency react-native@0.23.1\" [\\#483](https://github.com/aksonov/react-native-router-flux/issues/483)\n- Error route.children.forEach is not a function in getInitialState\\(\\) [\\#482](https://github.com/aksonov/react-native-router-flux/issues/482)\n- Menu icon only works if navigation drawer component is the root element [\\#480](https://github.com/aksonov/react-native-router-flux/issues/480)\n- android 4.4.4  navbar height  is higher system nav bar height [\\#475](https://github.com/aksonov/react-native-router-flux/issues/475)\n- Implementing tabs in subcomponent [\\#473](https://github.com/aksonov/react-native-router-flux/issues/473)\n- Unsure what I am doing wrong, the component is throwing a undefined error on Android [\\#471](https://github.com/aksonov/react-native-router-flux/issues/471)\n- How to use type='reset'? [\\#467](https://github.com/aksonov/react-native-router-flux/issues/467)\n- Add nav buttons \\(and handlers\\) from inside component [\\#463](https://github.com/aksonov/react-native-router-flux/issues/463)\n- Nested schenes no longer working? [\\#462](https://github.com/aksonov/react-native-router-flux/issues/462)\n- How to use components' this.state and functions while customising the Navigation Bar? [\\#459](https://github.com/aksonov/react-native-router-flux/issues/459)\n- Switch demo [\\#458](https://github.com/aksonov/react-native-router-flux/issues/458)\n- Global Data [\\#457](https://github.com/aksonov/react-native-router-flux/issues/457)\n- NavBar takes up space in nested routers [\\#456](https://github.com/aksonov/react-native-router-flux/issues/456)\n- Keyboard pushes Navigation Bar off the screen [\\#454](https://github.com/aksonov/react-native-router-flux/issues/454)\n- component property not set when using Router in Clojurescript through Reagent [\\#451](https://github.com/aksonov/react-native-router-flux/issues/451)\n- renderRightButton and renderLeftButton are not working [\\#449](https://github.com/aksonov/react-native-router-flux/issues/449)\n- RCTView has a shadow set but cannot calculate shadow efficiently [\\#448](https://github.com/aksonov/react-native-router-flux/issues/448)\n- NavBar covers part of the View [\\#447](https://github.com/aksonov/react-native-router-flux/issues/447)\n- Change Statusbar Color? [\\#445](https://github.com/aksonov/react-native-router-flux/issues/445)\n- NavigationBar has white borderBottom [\\#444](https://github.com/aksonov/react-native-router-flux/issues/444)\n- Android transitions crash [\\#443](https://github.com/aksonov/react-native-router-flux/issues/443)\n- Performance in android [\\#441](https://github.com/aksonov/react-native-router-flux/issues/441)\n- Question: Passing parameters with the navBar onRight [\\#440](https://github.com/aksonov/react-native-router-flux/issues/440)\n- Is there a way to force truncating the text in the nav bar?  [\\#438](https://github.com/aksonov/react-native-router-flux/issues/438)\n- Is Relay supported? [\\#437](https://github.com/aksonov/react-native-router-flux/issues/437)\n- Inner routes in Tabs broken since 3.2.2 [\\#431](https://github.com/aksonov/react-native-router-flux/issues/431)\n- Weird slide animation [\\#430](https://github.com/aksonov/react-native-router-flux/issues/430)\n- Actions.pop\\(\\) broken in v3.2.4  [\\#428](https://github.com/aksonov/react-native-router-flux/issues/428)\n- I think there are Example Errors [\\#425](https://github.com/aksonov/react-native-router-flux/issues/425)\n- How to forbid swipe back gesture in 3.x? [\\#422](https://github.com/aksonov/react-native-router-flux/issues/422)\n- Example project tabbar title and rightButton now showing up [\\#421](https://github.com/aksonov/react-native-router-flux/issues/421)\n- NavBar Title [\\#417](https://github.com/aksonov/react-native-router-flux/issues/417)\n- Unable to resolve module AssetRegistry [\\#416](https://github.com/aksonov/react-native-router-flux/issues/416)\n- Programmatically unmount previous components? [\\#415](https://github.com/aksonov/react-native-router-flux/issues/415)\n- Help with nested routing [\\#412](https://github.com/aksonov/react-native-router-flux/issues/412)\n- All TabBar views mounted on initial render [\\#409](https://github.com/aksonov/react-native-router-flux/issues/409)\n- Upgrading to V3.1.3 has broken replace type [\\#408](https://github.com/aksonov/react-native-router-flux/issues/408)\n- Add \"tabBarStyle\" to documentation [\\#397](https://github.com/aksonov/react-native-router-flux/issues/397)\n- Inner routes are not working if required as component  [\\#180](https://github.com/aksonov/react-native-router-flux/issues/180)\n\n**Merged pull requests:**\n\n- Revert \"\\[WIP\\] Get Example app working with React 0.24+ \" [\\#538](https://github.com/aksonov/react-native-router-flux/pull/538) ([aksonov](https://github.com/aksonov))\n- Implement FOCUS\\_ACTION using createReducer approach [\\#537](https://github.com/aksonov/react-native-router-flux/pull/537) ([lynndylanhurley](https://github.com/lynndylanhurley))\n- \\[WIP\\] Get Example app working with React 0.24+  [\\#536](https://github.com/aksonov/react-native-router-flux/pull/536) ([cridenour](https://github.com/cridenour))\n- Set the example to use the supported version of React Native [\\#534](https://github.com/aksonov/react-native-router-flux/pull/534) ([jamespearson](https://github.com/jamespearson))\n- add more details about tabbar [\\#533](https://github.com/aksonov/react-native-router-flux/pull/533) ([timzaak](https://github.com/timzaak))\n- Fix animation bug [\\#526](https://github.com/aksonov/react-native-router-flux/pull/526) ([angeloashmore](https://github.com/angeloashmore))\n- Remove unused import [\\#522](https://github.com/aksonov/react-native-router-flux/pull/522) ([sylvainbaronnet](https://github.com/sylvainbaronnet))\n- Bug fix: childContextTypes not defined when DefaultRenderer is exported [\\#518](https://github.com/aksonov/react-native-router-flux/pull/518) ([Olliepop](https://github.com/Olliepop))\n- Allow getInitialState to be passed into Router as well as Scene [\\#516](https://github.com/aksonov/react-native-router-flux/pull/516) ([lelandrichardson](https://github.com/lelandrichardson))\n- Use current navigation state's button render functions during render [\\#514](https://github.com/aksonov/react-native-router-flux/pull/514) ([Lida](https://github.com/Lida))\n- Add getInitialState API to Scene and Router [\\#509](https://github.com/aksonov/react-native-router-flux/pull/509) ([lelandrichardson](https://github.com/lelandrichardson))\n- Add getSceneStyle api to Scene and Router [\\#508](https://github.com/aksonov/react-native-router-flux/pull/508) ([lelandrichardson](https://github.com/lelandrichardson))\n- Provide navigationState to scene's context [\\#507](https://github.com/aksonov/react-native-router-flux/pull/507) ([lelandrichardson](https://github.com/lelandrichardson))\n- Add `from` prop to navigation state for better pop animations [\\#505](https://github.com/aksonov/react-native-router-flux/pull/505) ([lelandrichardson](https://github.com/lelandrichardson))\n- Fix npm test [\\#504](https://github.com/aksonov/react-native-router-flux/pull/504) ([lelandrichardson](https://github.com/lelandrichardson))\n- Upgrade example project to use RN 0.23.1 [\\#497](https://github.com/aksonov/react-native-router-flux/pull/497) ([bosung90](https://github.com/bosung90))\n- change TabBar renderScene per RN 0.24 signature change [\\#490](https://github.com/aksonov/react-native-router-flux/pull/490) ([joenoon](https://github.com/joenoon))\n- Removed transparent background to remove warning \\#448 [\\#486](https://github.com/aksonov/react-native-router-flux/pull/486) ([giacomorebonato](https://github.com/giacomorebonato))\n- Remove peerDependencies [\\#479](https://github.com/aksonov/react-native-router-flux/pull/479) ([Mokto](https://github.com/Mokto))\n- Make `sceneStyle` work without having to apply styles manually [\\#470](https://github.com/aksonov/react-native-router-flux/pull/470) ([domchristie](https://github.com/domchristie))\n- Warn if you tried to render right\\(left\\) title but not specified all params. [\\#469](https://github.com/aksonov/react-native-router-flux/pull/469) ([ugputu18](https://github.com/ugputu18))\n- Small typos [\\#464](https://github.com/aksonov/react-native-router-flux/pull/464) ([jeroenbourgois](https://github.com/jeroenbourgois))\n- fixed backbutton text width [\\#439](https://github.com/aksonov/react-native-router-flux/pull/439) ([philipshurpik](https://github.com/philipshurpik))\n- Back button title [\\#436](https://github.com/aksonov/react-native-router-flux/pull/436) ([philipshurpik](https://github.com/philipshurpik))\n- Update README.md [\\#434](https://github.com/aksonov/react-native-router-flux/pull/434) ([Mokto](https://github.com/Mokto))\n- Issues template [\\#433](https://github.com/aksonov/react-native-router-flux/pull/433) ([Mokto](https://github.com/Mokto))\n- Check properties sended in route are equal to prevent pushing new routes [\\#432](https://github.com/aksonov/react-native-router-flux/pull/432) ([Mokto](https://github.com/Mokto))\n- make refresh by key modify the child data and not scene data. [\\#429](https://github.com/aksonov/react-native-router-flux/pull/429) ([joenoon](https://github.com/joenoon))\n- Implementing 'reset' type for Scene [\\#427](https://github.com/aksonov/react-native-router-flux/pull/427) ([nitsujri](https://github.com/nitsujri))\n- Revert \"change DefaultRenderer to correspond new API\" [\\#424](https://github.com/aksonov/react-native-router-flux/pull/424) ([aksonov](https://github.com/aksonov))\n- change DefaultRenderer to correspond new API [\\#423](https://github.com/aksonov/react-native-router-flux/pull/423) ([philipshurpik](https://github.com/philipshurpik))\n- chore\\(navbar\\): Renamed variable [\\#420](https://github.com/aksonov/react-native-router-flux/pull/420) ([RWOverdijk](https://github.com/RWOverdijk))\n- fix to show correctly show navbar in tabs component [\\#418](https://github.com/aksonov/react-native-router-flux/pull/418) ([philipshurpik](https://github.com/philipshurpik))\n- added possibility to use zero duration while navigating [\\#414](https://github.com/aksonov/react-native-router-flux/pull/414) ([philipshurpik](https://github.com/philipshurpik))\n- Added tabBarStyle documentation [\\#413](https://github.com/aksonov/react-native-router-flux/pull/413) ([Froelund](https://github.com/Froelund))\n- Feature/override images [\\#411](https://github.com/aksonov/react-native-router-flux/pull/411) ([RWOverdijk](https://github.com/RWOverdijk))\n- Add closing brackets [\\#410](https://github.com/aksonov/react-native-router-flux/pull/410) ([RWOverdijk](https://github.com/RWOverdijk))\n\n## [3.2.3](https://github.com/aksonov/react-native-router-flux/tree/3.2.3) (2016-03-27)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/3.1.3...3.2.3)\n\n**Closed issues:**\n\n- getting an error from the chevron, any ideas to resolve? [\\#405](https://github.com/aksonov/react-native-router-flux/issues/405)\n- router bar crash and no show title [\\#404](https://github.com/aksonov/react-native-router-flux/issues/404)\n- Render all tabbar sub-scenes on any tab's click [\\#403](https://github.com/aksonov/react-native-router-flux/issues/403)\n- JS frame rate goes to -2.0 on Android deployed from Windows [\\#401](https://github.com/aksonov/react-native-router-flux/issues/401)\n- renderRightButton gets hidden by the nav bar on 3.2.2 [\\#398](https://github.com/aksonov/react-native-router-flux/issues/398)\n- Navigating to a Schene if you know the schenes key as a string. [\\#396](https://github.com/aksonov/react-native-router-flux/issues/396)\n- Calling Same Route with different props mounts it idefinitely [\\#395](https://github.com/aksonov/react-native-router-flux/issues/395)\n- New method `static renderNavigationBar` can`t keep front in transition animation [\\#393](https://github.com/aksonov/react-native-router-flux/issues/393)\n- Animation when nesting in a DefaultRenderer [\\#387](https://github.com/aksonov/react-native-router-flux/issues/387)\n- Persisting the state of a tab [\\#386](https://github.com/aksonov/react-native-router-flux/issues/386)\n- v3 After connecting Switch to Scene gettings infinite loops [\\#385](https://github.com/aksonov/react-native-router-flux/issues/385)\n- Double tapping on link creates a double view [\\#384](https://github.com/aksonov/react-native-router-flux/issues/384)\n- Converting circular structure to JSON warning [\\#383](https://github.com/aksonov/react-native-router-flux/issues/383)\n- Open Drawer from the navigation bar [\\#382](https://github.com/aksonov/react-native-router-flux/issues/382)\n- Transitions between scenes in tabs scenes are slow regardless of duration [\\#381](https://github.com/aksonov/react-native-router-flux/issues/381)\n- Back icon does not show title [\\#380](https://github.com/aksonov/react-native-router-flux/issues/380)\n- Key login is already defined - HMR 0.22 [\\#376](https://github.com/aksonov/react-native-router-flux/issues/376)\n- Jammed page can not respond [\\#374](https://github.com/aksonov/react-native-router-flux/issues/374)\n- Tab scenes are set to type=\"push\" even tho type=\"jump\" was initially declared [\\#373](https://github.com/aksonov/react-native-router-flux/issues/373)\n- Each tab component is rendered even when not selected [\\#372](https://github.com/aksonov/react-native-router-flux/issues/372)\n- Pass previous route details like title as props [\\#371](https://github.com/aksonov/react-native-router-flux/issues/371)\n- backButtonTitle doesn't appear [\\#368](https://github.com/aksonov/react-native-router-flux/issues/368)\n- How to config StatusBar? [\\#367](https://github.com/aksonov/react-native-router-flux/issues/367)\n- Only launch scene has  sceneStyle of props [\\#366](https://github.com/aksonov/react-native-router-flux/issues/366)\n- Access component method in \\<Scene\\> [\\#365](https://github.com/aksonov/react-native-router-flux/issues/365)\n- props not passed when switching tabs [\\#364](https://github.com/aksonov/react-native-router-flux/issues/364)\n- Issue with assert in Actions.js [\\#363](https://github.com/aksonov/react-native-router-flux/issues/363)\n- Props should be defined for stack [\\#362](https://github.com/aksonov/react-native-router-flux/issues/362)\n- this.props.sceneStyle of Example can't passed [\\#361](https://github.com/aksonov/react-native-router-flux/issues/361)\n- GetState  [\\#357](https://github.com/aksonov/react-native-router-flux/issues/357)\n- pass Router props to all Scenes [\\#356](https://github.com/aksonov/react-native-router-flux/issues/356)\n- Very poor performance during transitions on Android \\(3.0.9\\) [\\#355](https://github.com/aksonov/react-native-router-flux/issues/355)\n- renderRightButton doesn't work [\\#354](https://github.com/aksonov/react-native-router-flux/issues/354)\n- Why could only React Native 0.22-rc is supported? [\\#333](https://github.com/aksonov/react-native-router-flux/issues/333)\n- How to push routes into tab from outside the tab router [\\#209](https://github.com/aksonov/react-native-router-flux/issues/209)\n\n**Merged pull requests:**\n\n- Added DrawerExample [\\#406](https://github.com/aksonov/react-native-router-flux/pull/406) ([Froelund](https://github.com/Froelund))\n- also need to retain parent during refresh.  maybe other properties also? [\\#402](https://github.com/aksonov/react-native-router-flux/pull/402) ([joenoon](https://github.com/joenoon))\n- clone option on Scene to dynamically push to current parent [\\#400](https://github.com/aksonov/react-native-router-flux/pull/400) ([joenoon](https://github.com/joenoon))\n- use key from state.key to avoid losing the index\\_ prefix during refresh [\\#399](https://github.com/aksonov/react-native-router-flux/pull/399) ([joenoon](https://github.com/joenoon))\n- pass current state to nav button handlers as argument [\\#394](https://github.com/aksonov/react-native-router-flux/pull/394) ([philipshurpik](https://github.com/philipshurpik))\n- add back recording the new `current`. [\\#391](https://github.com/aksonov/react-native-router-flux/pull/391) ([joenoon](https://github.com/joenoon))\n- dont change anything other than the index on 'jump' [\\#390](https://github.com/aksonov/react-native-router-flux/pull/390) ([joenoon](https://github.com/joenoon))\n- Fix navigationBarStyle for nested scenes [\\#388](https://github.com/aksonov/react-native-router-flux/pull/388) ([chrissloey](https://github.com/chrissloey))\n- Update README.md [\\#379](https://github.com/aksonov/react-native-router-flux/pull/379) ([brettpappas](https://github.com/brettpappas))\n- Update README.md [\\#378](https://github.com/aksonov/react-native-router-flux/pull/378) ([jeroenbourgois](https://github.com/jeroenbourgois))\n- Update README.md [\\#377](https://github.com/aksonov/react-native-router-flux/pull/377) ([jeroenbourgois](https://github.com/jeroenbourgois))\n- Fixed README [\\#375](https://github.com/aksonov/react-native-router-flux/pull/375) ([amsdamsgram](https://github.com/amsdamsgram))\n- Update README.md [\\#369](https://github.com/aksonov/react-native-router-flux/pull/369) ([jeroenbourgois](https://github.com/jeroenbourgois))\n\n## [3.1.3](https://github.com/aksonov/react-native-router-flux/tree/3.1.3) (2016-03-21)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/3.0.9...3.1.3)\n\n**Closed issues:**\n\n- Create scenes within a scene [\\#353](https://github.com/aksonov/react-native-router-flux/issues/353)\n- Custom NavBar has no ability to pass props [\\#351](https://github.com/aksonov/react-native-router-flux/issues/351)\n- Navigating to tab's child routes [\\#350](https://github.com/aksonov/react-native-router-flux/issues/350)\n- scenes transitions' animation  about 3.0.11 is slower then 2.x [\\#349](https://github.com/aksonov/react-native-router-flux/issues/349)\n- tab don't work [\\#348](https://github.com/aksonov/react-native-router-flux/issues/348)\n- Changing transition animations in v3 [\\#347](https://github.com/aksonov/react-native-router-flux/issues/347)\n- Component will Unmount [\\#345](https://github.com/aksonov/react-native-router-flux/issues/345)\n- renderNavigationBar [\\#344](https://github.com/aksonov/react-native-router-flux/issues/344)\n- Pop listener [\\#343](https://github.com/aksonov/react-native-router-flux/issues/343)\n- Left back button not showing [\\#342](https://github.com/aksonov/react-native-router-flux/issues/342)\n- Custom back button [\\#341](https://github.com/aksonov/react-native-router-flux/issues/341)\n- How to have a transparent background? [\\#340](https://github.com/aksonov/react-native-router-flux/issues/340)\n- Unable to refresh badge count on tab icon [\\#338](https://github.com/aksonov/react-native-router-flux/issues/338)\n- Post working example of Switch? [\\#337](https://github.com/aksonov/react-native-router-flux/issues/337)\n- Back Button Styling [\\#336](https://github.com/aksonov/react-native-router-flux/issues/336)\n- componentWillMount called more than once, componentWillUnmount not called on scene change [\\#335](https://github.com/aksonov/react-native-router-flux/issues/335)\n- Actions.{destination-component} not working when located inside a method [\\#334](https://github.com/aksonov/react-native-router-flux/issues/334)\n- Navigation Bar [\\#332](https://github.com/aksonov/react-native-router-flux/issues/332)\n- this.props.data is undefine [\\#331](https://github.com/aksonov/react-native-router-flux/issues/331)\n- RCTRootView.h file not found [\\#330](https://github.com/aksonov/react-native-router-flux/issues/330)\n- Defined styles [\\#329](https://github.com/aksonov/react-native-router-flux/issues/329)\n- Action should be defined [\\#328](https://github.com/aksonov/react-native-router-flux/issues/328)\n- How to call nested scenes multiple times \\(Child keys must be unique\\) [\\#327](https://github.com/aksonov/react-native-router-flux/issues/327)\n- v3.0.7 - action should be defined [\\#325](https://github.com/aksonov/react-native-router-flux/issues/325)\n\n**Merged pull requests:**\n\n- Support deeply nested scenes setting TabBar properties [\\#360](https://github.com/aksonov/react-native-router-flux/pull/360) ([aksonov](https://github.com/aksonov))\n- Changes default transition duration to 300ms [\\#352](https://github.com/aksonov/react-native-router-flux/pull/352) ([jerzxu](https://github.com/jerzxu))\n- Fixed issue with NavBar [\\#346](https://github.com/aksonov/react-native-router-flux/pull/346) ([ylquankai](https://github.com/ylquankai))\n- Fixed issue with selected Tab [\\#339](https://github.com/aksonov/react-native-router-flux/pull/339) ([jerzxu](https://github.com/jerzxu))\n\n## [3.0.9](https://github.com/aksonov/react-native-router-flux/tree/3.0.9) (2016-03-16)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/2.3.1...3.0.9)\n\n**Implemented enhancements:**\n\n- How to implement react-native-scrollable-tab-view? [\\#257](https://github.com/aksonov/react-native-router-flux/issues/257)\n- How to use react-native-custom-navigation module in this router ? [\\#232](https://github.com/aksonov/react-native-router-flux/issues/232)\n\n**Closed issues:**\n\n- Example on how to use actionSheet [\\#322](https://github.com/aksonov/react-native-router-flux/issues/322)\n- Dynamic navigationBarStyle / sceneStyle [\\#321](https://github.com/aksonov/react-native-router-flux/issues/321)\n- Cannot read property 'dispatch' of undefined [\\#320](https://github.com/aksonov/react-native-router-flux/issues/320)\n- No animation when switching between routes [\\#319](https://github.com/aksonov/react-native-router-flux/issues/319)\n- Check auth onEnter [\\#318](https://github.com/aksonov/react-native-router-flux/issues/318)\n- NavBar Title [\\#317](https://github.com/aksonov/react-native-router-flux/issues/317)\n- Container offsets [\\#316](https://github.com/aksonov/react-native-router-flux/issues/316)\n- Multiple navigationBar buttons with renderRightButton [\\#315](https://github.com/aksonov/react-native-router-flux/issues/315)\n- improve docs for right navbar item, including onRight [\\#314](https://github.com/aksonov/react-native-router-flux/issues/314)\n- Navigation Titile on Android is in additional View instead of just being Text  [\\#312](https://github.com/aksonov/react-native-router-flux/issues/312)\n- NPM Installation installs v3.0.2-alpha which doesn't have \"Route\" [\\#311](https://github.com/aksonov/react-native-router-flux/issues/311)\n- Getting \"props should be defined for stack\" [\\#310](https://github.com/aksonov/react-native-router-flux/issues/310)\n- Event when route changed? [\\#309](https://github.com/aksonov/react-native-router-flux/issues/309)\n- navigation bar apperas when swipe back to a non-navigation-bar scene [\\#308](https://github.com/aksonov/react-native-router-flux/issues/308)\n- Issues with unit testing components that import RNRF [\\#306](https://github.com/aksonov/react-native-router-flux/issues/306)\n- Problem with running the Example [\\#305](https://github.com/aksonov/react-native-router-flux/issues/305)\n- Navbar not updating [\\#304](https://github.com/aksonov/react-native-router-flux/issues/304)\n- Calling a child route from ListView [\\#303](https://github.com/aksonov/react-native-router-flux/issues/303)\n- Would this work with TabBarIOS? [\\#302](https://github.com/aksonov/react-native-router-flux/issues/302)\n- \\[help wanted\\] How to auto jump new route. [\\#300](https://github.com/aksonov/react-native-router-flux/issues/300)\n- Feature request - A method for printing header beneath navigation bar [\\#299](https://github.com/aksonov/react-native-router-flux/issues/299)\n- Calling the same modal component twice throws error on .dismiss\\(\\) [\\#298](https://github.com/aksonov/react-native-router-flux/issues/298)\n- header option doesn't work [\\#297](https://github.com/aksonov/react-native-router-flux/issues/297)\n- Pop nested Router off main Router [\\#296](https://github.com/aksonov/react-native-router-flux/issues/296)\n- TabBar styling / overlays content [\\#295](https://github.com/aksonov/react-native-router-flux/issues/295)\n- How to get props from Actions.pop\\(\\) [\\#294](https://github.com/aksonov/react-native-router-flux/issues/294)\n- DeviceEventEmitters getting lost on Action.pop\\(\\) [\\#292](https://github.com/aksonov/react-native-router-flux/issues/292)\n- Actions.pop\\(\\) on mounted but not visible component [\\#291](https://github.com/aksonov/react-native-router-flux/issues/291)\n- \\[Closed\\] hideTabBar do not work [\\#289](https://github.com/aksonov/react-native-router-flux/issues/289)\n- Segmented Control [\\#288](https://github.com/aksonov/react-native-router-flux/issues/288)\n- Title not being shown on Tab selection [\\#287](https://github.com/aksonov/react-native-router-flux/issues/287)\n- Custom styling of Back Button [\\#286](https://github.com/aksonov/react-native-router-flux/issues/286)\n- Title after pop with \\(custom title\\) [\\#285](https://github.com/aksonov/react-native-router-flux/issues/285)\n- Changing background colour that appears during animation [\\#283](https://github.com/aksonov/react-native-router-flux/issues/283)\n- Different navBars [\\#281](https://github.com/aksonov/react-native-router-flux/issues/281)\n- ExRouter Add onTransitionToTop method, have a best idear? [\\#279](https://github.com/aksonov/react-native-router-flux/issues/279)\n- TypeError: Cannot read property 'delegate' of null at ExRouter.componentWillUnmount  [\\#277](https://github.com/aksonov/react-native-router-flux/issues/277)\n- Left Back button color [\\#276](https://github.com/aksonov/react-native-router-flux/issues/276)\n- navigationBarStyle in Route doesn't work [\\#274](https://github.com/aksonov/react-native-router-flux/issues/274)\n- Any recommendations for rendering badges on tabbar icons? [\\#272](https://github.com/aksonov/react-native-router-flux/issues/272)\n- Example has no Navigation Bar Buttons [\\#269](https://github.com/aksonov/react-native-router-flux/issues/269)\n- TabBar: inst.render is not a function [\\#268](https://github.com/aksonov/react-native-router-flux/issues/268)\n- Back button [\\#267](https://github.com/aksonov/react-native-router-flux/issues/267)\n- How to change scene outside of onPress\\(\\) [\\#266](https://github.com/aksonov/react-native-router-flux/issues/266)\n- Navigation bar overlaps the content below [\\#265](https://github.com/aksonov/react-native-router-flux/issues/265)\n- componentDidMount not trigger on Actions.pop [\\#264](https://github.com/aksonov/react-native-router-flux/issues/264)\n- V2.3.6 \"Current Router = undefined\" when navigating from a child tab route to a parent tab route [\\#263](https://github.com/aksonov/react-native-router-flux/issues/263)\n- priority about showNavigationBar={false} and hideNavBar={true} [\\#262](https://github.com/aksonov/react-native-router-flux/issues/262)\n- NavBar is behind by one view in nested Router [\\#261](https://github.com/aksonov/react-native-router-flux/issues/261)\n- Clear example with top-level Redux `connect`  [\\#260](https://github.com/aksonov/react-native-router-flux/issues/260)\n- Doing 'reset' as route type produces error [\\#258](https://github.com/aksonov/react-native-router-flux/issues/258)\n- Putting buttons in renderTitle? [\\#256](https://github.com/aksonov/react-native-router-flux/issues/256)\n- Navigation bar disappeared [\\#255](https://github.com/aksonov/react-native-router-flux/issues/255)\n- npm install fails [\\#254](https://github.com/aksonov/react-native-router-flux/issues/254)\n- Session to Login Screen Redirect [\\#253](https://github.com/aksonov/react-native-router-flux/issues/253)\n- Router overrides component's default name prop [\\#252](https://github.com/aksonov/react-native-router-flux/issues/252)\n- Cannot read property 'dispatch' of undefined on componentDidMount [\\#251](https://github.com/aksonov/react-native-router-flux/issues/251)\n- Accessing Route outside of Router looses Navigation bar \\(with Drawer\\) [\\#250](https://github.com/aksonov/react-native-router-flux/issues/250)\n- Ability to set background color [\\#243](https://github.com/aksonov/react-native-router-flux/issues/243)\n- Unable to set selected default tab [\\#238](https://github.com/aksonov/react-native-router-flux/issues/238)\n- Right Button call function from Component [\\#236](https://github.com/aksonov/react-native-router-flux/issues/236)\n- BEFORE\\_ROUTE action doesn't return the right route. [\\#233](https://github.com/aksonov/react-native-router-flux/issues/233)\n- Setting initial route on router? [\\#230](https://github.com/aksonov/react-native-router-flux/issues/230)\n- Dynamic Title [\\#226](https://github.com/aksonov/react-native-router-flux/issues/226)\n- Cannot read property \"onWillFocus\" of undefined [\\#225](https://github.com/aksonov/react-native-router-flux/issues/225)\n- How to render screen-specific navbar buttons? [\\#224](https://github.com/aksonov/react-native-router-flux/issues/224)\n- Module AppRegistry is not a registered callable module [\\#217](https://github.com/aksonov/react-native-router-flux/issues/217)\n- rerender navigator bar [\\#215](https://github.com/aksonov/react-native-router-flux/issues/215)\n- calling same route with different data [\\#207](https://github.com/aksonov/react-native-router-flux/issues/207)\n- Extremely slow on android [\\#199](https://github.com/aksonov/react-native-router-flux/issues/199)\n- Swipe gestures break navigation [\\#197](https://github.com/aksonov/react-native-router-flux/issues/197)\n- Animating modals [\\#187](https://github.com/aksonov/react-native-router-flux/issues/187)\n- Experimental Navigator API [\\#186](https://github.com/aksonov/react-native-router-flux/issues/186)\n- Screen goes blank when switching between tabs [\\#174](https://github.com/aksonov/react-native-router-flux/issues/174)\n- Check if router's stack is null before pop\\(\\) [\\#170](https://github.com/aksonov/react-native-router-flux/issues/170)\n- How to style the Nav Bar ? [\\#160](https://github.com/aksonov/react-native-router-flux/issues/160)\n- How does the Actions pop\\(n\\)? [\\#149](https://github.com/aksonov/react-native-router-flux/issues/149)\n- componentWillUnmount is not triggered when a new route is pushed [\\#131](https://github.com/aksonov/react-native-router-flux/issues/131)\n- Scene transition not animated for type='replace' and type='switch' even when SceneConfig is supplied [\\#125](https://github.com/aksonov/react-native-router-flux/issues/125)\n- onEnter [\\#78](https://github.com/aksonov/react-native-router-flux/issues/78)\n- initial={true} on tab page doesn't work. [\\#62](https://github.com/aksonov/react-native-router-flux/issues/62)\n- Documentation example on how to integrate with a redux/flux architecture [\\#56](https://github.com/aksonov/react-native-router-flux/issues/56)\n- Hide TabBar [\\#52](https://github.com/aksonov/react-native-router-flux/issues/52)\n\n**Merged pull requests:**\n\n- Make pop work on invisible component [\\#313](https://github.com/aksonov/react-native-router-flux/pull/313) ([lrettig](https://github.com/lrettig))\n- fix unable to customize leftButton style [\\#301](https://github.com/aksonov/react-native-router-flux/pull/301) ([plrthink](https://github.com/plrthink))\n- Added renderBackButton to ExRouter constructor [\\#293](https://github.com/aksonov/react-native-router-flux/pull/293) ([jarredwitt](https://github.com/jarredwitt))\n- upgrade examples to React Native 0.21.0 [\\#290](https://github.com/aksonov/react-native-router-flux/pull/290) ([peterp](https://github.com/peterp))\n- Use route props first when determining route title [\\#284](https://github.com/aksonov/react-native-router-flux/pull/284) ([jopecko](https://github.com/jopecko))\n- Added missing defaultRoute action to tabbar [\\#282](https://github.com/aksonov/react-native-router-flux/pull/282) ([Nikamura](https://github.com/Nikamura))\n- ExRouter add onTransitionToTop , like ExNavigator transitionToTop ,  … [\\#280](https://github.com/aksonov/react-native-router-flux/pull/280) ([virtoolswebplayer](https://github.com/virtoolswebplayer))\n- Check if current router exists [\\#278](https://github.com/aksonov/react-native-router-flux/pull/278) ([jasonals](https://github.com/jasonals))\n- NoTransition scene config causes blank scenes [\\#275](https://github.com/aksonov/react-native-router-flux/pull/275) ([keeth](https://github.com/keeth))\n- typo in README [\\#273](https://github.com/aksonov/react-native-router-flux/pull/273) ([Emilios1995](https://github.com/Emilios1995))\n- use hideNavBar in README example [\\#271](https://github.com/aksonov/react-native-router-flux/pull/271) ([zxcpoiu](https://github.com/zxcpoiu))\n- use hideNavBar in example. close \\#262 [\\#270](https://github.com/aksonov/react-native-router-flux/pull/270) ([zxcpoiu](https://github.com/zxcpoiu))\n- Pass updated props to an existing route [\\#259](https://github.com/aksonov/react-native-router-flux/pull/259) ([lrettig](https://github.com/lrettig))\n- Fix pop handling for multi-pop situations [\\#249](https://github.com/aksonov/react-native-router-flux/pull/249) ([JackWink](https://github.com/JackWink))\n- Set style on parent view of router [\\#248](https://github.com/aksonov/react-native-router-flux/pull/248) ([dan-lee](https://github.com/dan-lee))\n- Adding an example link for react-native-drawer [\\#246](https://github.com/aksonov/react-native-router-flux/pull/246) ([efkan](https://github.com/efkan))\n\n## [2.3.1](https://github.com/aksonov/react-native-router-flux/tree/2.3.1) (2016-02-23)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/2.3.0...2.3.1)\n\n**Closed issues:**\n\n- I cannot use together with 'react-native-drawer' [\\#242](https://github.com/aksonov/react-native-router-flux/issues/242)\n- Unable to set selected default tab [\\#241](https://github.com/aksonov/react-native-router-flux/issues/241)\n- how can I  select default tab in tabbar? [\\#240](https://github.com/aksonov/react-native-router-flux/issues/240)\n- Can't run example -- npm start fails with a Naming Collision [\\#227](https://github.com/aksonov/react-native-router-flux/issues/227)\n- Bug when Router appears, disappears, then appears again [\\#221](https://github.com/aksonov/react-native-router-flux/issues/221)\n\n## [2.3.0](https://github.com/aksonov/react-native-router-flux/tree/2.3.0) (2016-02-23)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/2.2.6...2.3.0)\n\n**Closed issues:**\n\n- Any example on how to modify navbar to add custom button? [\\#239](https://github.com/aksonov/react-native-router-flux/issues/239)\n- `No current Router is set` issue [\\#223](https://github.com/aksonov/react-native-router-flux/issues/223)\n- Redux Integration [\\#220](https://github.com/aksonov/react-native-router-flux/issues/220)\n- Swipe broken in example [\\#206](https://github.com/aksonov/react-native-router-flux/issues/206)\n- Move ExRouter and RouterIOS to 'plugins' folder [\\#191](https://github.com/aksonov/react-native-router-flux/issues/191)\n- Confusing nomenclature with the term router [\\#188](https://github.com/aksonov/react-native-router-flux/issues/188)\n- Change route dynamically [\\#182](https://github.com/aksonov/react-native-router-flux/issues/182)\n- Combining Router and navigation Drawer [\\#92](https://github.com/aksonov/react-native-router-flux/issues/92)\n\n**Merged pull requests:**\n\n- improve README [\\#234](https://github.com/aksonov/react-native-router-flux/pull/234) ([cht8687](https://github.com/cht8687))\n- Fix swipe back gesture issue [\\#231](https://github.com/aksonov/react-native-router-flux/pull/231) ([xhyp0](https://github.com/xhyp0))\n\n## [2.2.6](https://github.com/aksonov/react-native-router-flux/tree/2.2.6) (2016-02-18)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/2.2.5...2.2.6)\n\n**Closed issues:**\n\n- internal server error: @exponent/react-native-action-sheet [\\#219](https://github.com/aksonov/react-native-router-flux/issues/219)\n- Dismiss not removing modal [\\#216](https://github.com/aksonov/react-native-router-flux/issues/216)\n- Swipe actions getting caught by react-native-router-flux [\\#214](https://github.com/aksonov/react-native-router-flux/issues/214)\n- renderRightButton with save button. [\\#213](https://github.com/aksonov/react-native-router-flux/issues/213)\n- Image Background [\\#205](https://github.com/aksonov/react-native-router-flux/issues/205)\n\n**Merged pull requests:**\n\n- BaseRouter bug fix, add route data when dispatch BEFORE\\_FOCUS, AFTER\\_FOCUS [\\#222](https://github.com/aksonov/react-native-router-flux/pull/222) ([jungsoo108](https://github.com/jungsoo108))\n- Add examples for animating modals [\\#218](https://github.com/aksonov/react-native-router-flux/pull/218) ([sbycrosz](https://github.com/sbycrosz))\n\n## [2.2.5](https://github.com/aksonov/react-native-router-flux/tree/2.2.5) (2016-02-16)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/2.2.4...2.2.5)\n\n## [2.2.4](https://github.com/aksonov/react-native-router-flux/tree/2.2.4) (2016-02-16)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/2.2.3...2.2.4)\n\n**Closed issues:**\n\n- Build breaking due to ExNavigator [\\#208](https://github.com/aksonov/react-native-router-flux/issues/208)\n\n## [2.2.3](https://github.com/aksonov/react-native-router-flux/tree/2.2.3) (2016-02-16)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/2.1.4...2.2.3)\n\n**Closed issues:**\n\n- Navigation doesn't work when using Chrome debugging [\\#210](https://github.com/aksonov/react-native-router-flux/issues/210)\n- Adding buttons to Nav Bar [\\#203](https://github.com/aksonov/react-native-router-flux/issues/203)\n- Please how can i implement Router in react-native-scrollable-tab-view [\\#198](https://github.com/aksonov/react-native-router-flux/issues/198)\n- Router issues when popping from a modal presented from the root [\\#192](https://github.com/aksonov/react-native-router-flux/issues/192)\n- How to use the NavBar in teh Example/components folder? [\\#189](https://github.com/aksonov/react-native-router-flux/issues/189)\n- Router should pass its own props to Route's on subsequent renders [\\#184](https://github.com/aksonov/react-native-router-flux/issues/184)\n- Actions.currentRouter.currentRoute is not updated [\\#183](https://github.com/aksonov/react-native-router-flux/issues/183)\n- NPM and Github releases out of sync [\\#178](https://github.com/aksonov/react-native-router-flux/issues/178)\n- Swipe back is flaky [\\#176](https://github.com/aksonov/react-native-router-flux/issues/176)\n- \"Cannot read property 'push' of undefined\" when mounting router for the second time [\\#172](https://github.com/aksonov/react-native-router-flux/issues/172)\n- Passing data back to parent with Actions.pop? [\\#171](https://github.com/aksonov/react-native-router-flux/issues/171)\n- Tabbed Nested Router Re-use Question [\\#169](https://github.com/aksonov/react-native-router-flux/issues/169)\n- Passing props through Route [\\#167](https://github.com/aksonov/react-native-router-flux/issues/167)\n- Can't set Tab Screen to initial screen [\\#166](https://github.com/aksonov/react-native-router-flux/issues/166)\n- Non-fullscreen route [\\#165](https://github.com/aksonov/react-native-router-flux/issues/165)\n- Navigate To  child route [\\#164](https://github.com/aksonov/react-native-router-flux/issues/164)\n- Can't get the navigationContext for didfocus and willfocus events [\\#161](https://github.com/aksonov/react-native-router-flux/issues/161)\n- Repetitive Infinite Tab appearing over itself [\\#159](https://github.com/aksonov/react-native-router-flux/issues/159)\n- How do I get the current route? [\\#158](https://github.com/aksonov/react-native-router-flux/issues/158)\n- Logging previous and next state incorrect [\\#152](https://github.com/aksonov/react-native-router-flux/issues/152)\n- Looking for help with customized navigation bar style [\\#151](https://github.com/aksonov/react-native-router-flux/issues/151)\n- Version 2.x breaks navbar styling, text is not justified vertically [\\#147](https://github.com/aksonov/react-native-router-flux/issues/147)\n- Resetting routers on tabs already selected [\\#130](https://github.com/aksonov/react-native-router-flux/issues/130)\n- when press back button in nested tab router, it will pop out [\\#110](https://github.com/aksonov/react-native-router-flux/issues/110)\n\n**Merged pull requests:**\n\n- docs: update props list of Route object [\\#212](https://github.com/aksonov/react-native-router-flux/pull/212) ([oureta](https://github.com/oureta))\n- docs: update props list of Route object [\\#211](https://github.com/aksonov/react-native-router-flux/pull/211) ([oureta](https://github.com/oureta))\n- Add BEFORE\\_FOCUS and AFTER\\_FOCUS for swipe gesture handling. [\\#204](https://github.com/aksonov/react-native-router-flux/pull/204) ([lynndylanhurley](https://github.com/lynndylanhurley))\n- Update info on Redux/Flux support [\\#202](https://github.com/aksonov/react-native-router-flux/pull/202) ([mmazzarolo](https://github.com/mmazzarolo))\n- Update info on Redux/Flux support [\\#201](https://github.com/aksonov/react-native-router-flux/pull/201) ([mmazzarolo](https://github.com/mmazzarolo))\n- Fixes passing route props again [\\#200](https://github.com/aksonov/react-native-router-flux/pull/200) ([danielweinmann](https://github.com/danielweinmann))\n- Renames Router to BaseRouter and ReactRouter to Router and router prop on Router to plugin [\\#196](https://github.com/aksonov/react-native-router-flux/pull/196) ([danielweinmann](https://github.com/danielweinmann))\n- Added Sidebar/Drawer support [\\#195](https://github.com/aksonov/react-native-router-flux/pull/195) ([mmazzarolo](https://github.com/mmazzarolo))\n- update react native version in gradle file [\\#194](https://github.com/aksonov/react-native-router-flux/pull/194) ([peterlazar1993](https://github.com/peterlazar1993))\n- upgraded generated react-native files to 0.19.0 [\\#193](https://github.com/aksonov/react-native-router-flux/pull/193) ([philipshurpik](https://github.com/philipshurpik))\n- Passes Router props to Route's on subsequent renders [\\#185](https://github.com/aksonov/react-native-router-flux/pull/185) ([danielweinmann](https://github.com/danielweinmann))\n- Documents Route's hideNavBar prop [\\#181](https://github.com/aksonov/react-native-router-flux/pull/181) ([danielweinmann](https://github.com/danielweinmann))\n- remove duplicate lines [\\#179](https://github.com/aksonov/react-native-router-flux/pull/179) ([iZaL](https://github.com/iZaL))\n- Get rid off white flickering line that appears underneath router header [\\#175](https://github.com/aksonov/react-native-router-flux/pull/175) ([lananelson](https://github.com/lananelson))\n- Clears Actions.currentRouter when unmounting ExRouter if this is the … [\\#173](https://github.com/aksonov/react-native-router-flux/pull/173) ([danielweinmann](https://github.com/danielweinmann))\n- Updated package.json to include GitHub URL [\\#168](https://github.com/aksonov/react-native-router-flux/pull/168) ([ffxsam](https://github.com/ffxsam))\n\n## [2.1.4](https://github.com/aksonov/react-native-router-flux/tree/2.1.4) (2016-02-01)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/2.0.2...2.1.4)\n\n**Closed issues:**\n\n- Get current route onPop [\\#156](https://github.com/aksonov/react-native-router-flux/issues/156)\n- Pass type to Actions.route\\(\\) [\\#155](https://github.com/aksonov/react-native-router-flux/issues/155)\n- NavBar button are below the title area. How can i fixed? [\\#153](https://github.com/aksonov/react-native-router-flux/issues/153)\n- Can't set Tab Screen to initial screen in v2.1.3 [\\#148](https://github.com/aksonov/react-native-router-flux/issues/148)\n- barButtonIconStyle, titleStyle, navigationBarStyle, sceneStyle ignored in Route that is inside nested Router [\\#146](https://github.com/aksonov/react-native-router-flux/issues/146)\n- Demo seems to be broken [\\#145](https://github.com/aksonov/react-native-router-flux/issues/145)\n- Push component from a function [\\#144](https://github.com/aksonov/react-native-router-flux/issues/144)\n- TabBar directly under NavBar [\\#143](https://github.com/aksonov/react-native-router-flux/issues/143)\n- Custom title not working [\\#141](https://github.com/aksonov/react-native-router-flux/issues/141)\n- Anyone else get  Invalid name: \"@exponent/react-native-navigator\" during install? [\\#140](https://github.com/aksonov/react-native-router-flux/issues/140)\n- Add support for customizing right/left buttons [\\#137](https://github.com/aksonov/react-native-router-flux/issues/137)\n- Question: What is the proper way to style and use icons w TabBar? [\\#136](https://github.com/aksonov/react-native-router-flux/issues/136)\n- Getting currentRoute inside of Tab Route returns parent Route [\\#133](https://github.com/aksonov/react-native-router-flux/issues/133)\n- Router can't go `back` on tabs not first selected. [\\#132](https://github.com/aksonov/react-native-router-flux/issues/132)\n- Emergency:  [\\#129](https://github.com/aksonov/react-native-router-flux/issues/129)\n- Can you explain what wrapRouter does ? [\\#128](https://github.com/aksonov/react-native-router-flux/issues/128)\n- \\[FR\\] Allow to explicitly specify backButtonText in Route [\\#127](https://github.com/aksonov/react-native-router-flux/issues/127)\n- With the master version,there can be double headers [\\#126](https://github.com/aksonov/react-native-router-flux/issues/126)\n- Hiding navbar with route type = switch [\\#124](https://github.com/aksonov/react-native-router-flux/issues/124)\n- Nested Schemas does not work [\\#123](https://github.com/aksonov/react-native-router-flux/issues/123)\n- \\[Android\\] Back Button closes/crashes app [\\#122](https://github.com/aksonov/react-native-router-flux/issues/122)\n- Question: Redux/Flux support [\\#121](https://github.com/aksonov/react-native-router-flux/issues/121)\n- Cannot read property 'parent' of undefined when tapping on tab bar item [\\#120](https://github.com/aksonov/react-native-router-flux/issues/120)\n- Get current route stack [\\#117](https://github.com/aksonov/react-native-router-flux/issues/117)\n- How to display navigation bar only on specific screens? [\\#116](https://github.com/aksonov/react-native-router-flux/issues/116)\n- Route is not defined [\\#115](https://github.com/aksonov/react-native-router-flux/issues/115)\n- How do I pop back to another router? [\\#114](https://github.com/aksonov/react-native-router-flux/issues/114)\n- Display image in navbar [\\#113](https://github.com/aksonov/react-native-router-flux/issues/113)\n- Header works only for the first Router level [\\#112](https://github.com/aksonov/react-native-router-flux/issues/112)\n- Route issue in mode dev=true [\\#111](https://github.com/aksonov/react-native-router-flux/issues/111)\n- Searchbox in NavigationBar? [\\#109](https://github.com/aksonov/react-native-router-flux/issues/109)\n- 2.x - Unable to display footer only on specific routes [\\#107](https://github.com/aksonov/react-native-router-flux/issues/107)\n- Setting initial props gives me an route is not defined [\\#105](https://github.com/aksonov/react-native-router-flux/issues/105)\n- ExNavigator \\(Styles\\) undefined  [\\#104](https://github.com/aksonov/react-native-router-flux/issues/104)\n- NavBar overlays content [\\#103](https://github.com/aksonov/react-native-router-flux/issues/103)\n- Get current route stack/stack size [\\#101](https://github.com/aksonov/react-native-router-flux/issues/101)\n- renderRightButton example? [\\#100](https://github.com/aksonov/react-native-router-flux/issues/100)\n- Navigation Titile on Android is in additional View instead of just being Text [\\#98](https://github.com/aksonov/react-native-router-flux/issues/98)\n- Possible To Use Existing Routes & Components? [\\#96](https://github.com/aksonov/react-native-router-flux/issues/96)\n- How to only show Navbar Title? [\\#95](https://github.com/aksonov/react-native-router-flux/issues/95)\n- Add styles to Tabbar [\\#94](https://github.com/aksonov/react-native-router-flux/issues/94)\n- componentWillUnmount not called when I go to new route [\\#91](https://github.com/aksonov/react-native-router-flux/issues/91)\n- routeReducer not working properly [\\#87](https://github.com/aksonov/react-native-router-flux/issues/87)\n- TabBar may select two tab in Example [\\#84](https://github.com/aksonov/react-native-router-flux/issues/84)\n- Redirecting actions based on if/else generates error [\\#82](https://github.com/aksonov/react-native-router-flux/issues/82)\n- NavBars won't \"easily show/hide\" \\(iOS 9.2\\) [\\#80](https://github.com/aksonov/react-native-router-flux/issues/80)\n- Possible to go to specific tabbar tab using Actions? [\\#75](https://github.com/aksonov/react-native-router-flux/issues/75)\n- Selectively hide navigation bar [\\#72](https://github.com/aksonov/react-native-router-flux/issues/72)\n- Passing data to nested routers [\\#71](https://github.com/aksonov/react-native-router-flux/issues/71)\n- Setting up authentication to check if user is logged in [\\#66](https://github.com/aksonov/react-native-router-flux/issues/66)\n- onPop being called? [\\#53](https://github.com/aksonov/react-native-router-flux/issues/53)\n- Schema=popup in 1.x ?  [\\#51](https://github.com/aksonov/react-native-router-flux/issues/51)\n- Styling the NavBar [\\#47](https://github.com/aksonov/react-native-router-flux/issues/47)\n\n**Merged pull requests:**\n\n- Tap on tab to go to home [\\#163](https://github.com/aksonov/react-native-router-flux/pull/163) ([zebulgar](https://github.com/zebulgar))\n- Support passing type to Actions.route, fixes \\#155 [\\#157](https://github.com/aksonov/react-native-router-flux/pull/157) ([adrienbrault](https://github.com/adrienbrault))\n- Stop popping if there is nowhere to go [\\#154](https://github.com/aksonov/react-native-router-flux/pull/154) ([zebulgar](https://github.com/zebulgar))\n- navigationStyles breaks on Android [\\#150](https://github.com/aksonov/react-native-router-flux/pull/150) ([eranbes](https://github.com/eranbes))\n- Patch 2: fix a bug in Actions.pop [\\#142](https://github.com/aksonov/react-native-router-flux/pull/142) ([lrettig](https://github.com/lrettig))\n- Update to README to reflect reset type routes [\\#139](https://github.com/aksonov/react-native-router-flux/pull/139) ([rgoldiez](https://github.com/rgoldiez))\n- Allow tabBar custom style [\\#138](https://github.com/aksonov/react-native-router-flux/pull/138) ([rturk](https://github.com/rturk))\n- Update Component Name [\\#135](https://github.com/aksonov/react-native-router-flux/pull/135) ([phoenixbox](https://github.com/phoenixbox))\n- Add onLeft, leftTitle, etc. route props [\\#119](https://github.com/aksonov/react-native-router-flux/pull/119) ([lrettig](https://github.com/lrettig))\n- Allow for icon style and text style to be passed [\\#118](https://github.com/aksonov/react-native-router-flux/pull/118) ([zebulgar](https://github.com/zebulgar))\n- Add navigationStyles to ExNavigationBar.  [\\#108](https://github.com/aksonov/react-native-router-flux/pull/108) ([delta1](https://github.com/delta1))\n- add reset action [\\#106](https://github.com/aksonov/react-native-router-flux/pull/106) ([daemonchen](https://github.com/daemonchen))\n\n## [2.0.2](https://github.com/aksonov/react-native-router-flux/tree/2.0.2) (2016-01-04)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/1.0.1...2.0.2)\n\n**Closed issues:**\n\n- Passing the Navigation title in Action [\\#99](https://github.com/aksonov/react-native-router-flux/issues/99)\n- 2.0 \\(alpha\\) version branch [\\#97](https://github.com/aksonov/react-native-router-flux/issues/97)\n- TabBar speed... [\\#90](https://github.com/aksonov/react-native-router-flux/issues/90)\n- Is this how hidenavbar should work? [\\#89](https://github.com/aksonov/react-native-router-flux/issues/89)\n- How to push to new route within function? [\\#88](https://github.com/aksonov/react-native-router-flux/issues/88)\n- Jump to an existing route? [\\#85](https://github.com/aksonov/react-native-router-flux/issues/85)\n- Overlaying the nav bar [\\#83](https://github.com/aksonov/react-native-router-flux/issues/83)\n- BACK button on Android exits the app [\\#81](https://github.com/aksonov/react-native-router-flux/issues/81)\n- ExNavigator – Unexpected token? [\\#76](https://github.com/aksonov/react-native-router-flux/issues/76)\n- android launching error [\\#68](https://github.com/aksonov/react-native-router-flux/issues/68)\n- Animated Replace [\\#67](https://github.com/aksonov/react-native-router-flux/issues/67)\n-  Back button doesn't work if not on tab 1 when implementing tabs in a subcomponent [\\#64](https://github.com/aksonov/react-native-router-flux/issues/64)\n- Schema doesn't work when implementing tabs in a subcomponent [\\#63](https://github.com/aksonov/react-native-router-flux/issues/63)\n- renderBackButton or renderLeftButton? [\\#61](https://github.com/aksonov/react-native-router-flux/issues/61)\n- add onEnter and onLeave hooks for Routes [\\#60](https://github.com/aksonov/react-native-router-flux/issues/60)\n- Issues implementing tabs in subcomponent [\\#59](https://github.com/aksonov/react-native-router-flux/issues/59)\n- Ignore `.idea` directory for better readability? [\\#54](https://github.com/aksonov/react-native-router-flux/issues/54)\n- How to hide navbar? [\\#50](https://github.com/aksonov/react-native-router-flux/issues/50)\n- Tabs NavBar doesn't show on first reroute [\\#49](https://github.com/aksonov/react-native-router-flux/issues/49)\n- It doesn't work with react-native@0.16.0 [\\#43](https://github.com/aksonov/react-native-router-flux/issues/43)\n- Routes inside of a tab container? [\\#42](https://github.com/aksonov/react-native-router-flux/issues/42)\n- Navbar is hidden in pages even if  hideNavBar is false [\\#41](https://github.com/aksonov/react-native-router-flux/issues/41)\n- why the animation is forbidden in Container.js [\\#40](https://github.com/aksonov/react-native-router-flux/issues/40)\n- Example broken with latest react-native-navbar [\\#33](https://github.com/aksonov/react-native-router-flux/issues/33)\n- Testing with jest breaked [\\#32](https://github.com/aksonov/react-native-router-flux/issues/32)\n- Intercept transitions [\\#29](https://github.com/aksonov/react-native-router-flux/issues/29)\n- Is it able to create multiple router instances? [\\#26](https://github.com/aksonov/react-native-router-flux/issues/26)\n- PopUp View can't call programatically.... [\\#25](https://github.com/aksonov/react-native-router-flux/issues/25)\n\n**Merged pull requests:**\n\n- 2.0 [\\#102](https://github.com/aksonov/react-native-router-flux/pull/102) ([aksonov](https://github.com/aksonov))\n- Improved documentation [\\#86](https://github.com/aksonov/react-native-router-flux/pull/86) ([emrosenf](https://github.com/emrosenf))\n- Comment out console.log in push [\\#79](https://github.com/aksonov/react-native-router-flux/pull/79) ([ghost](https://github.com/ghost))\n- Add a Gitter chat badge to README.md [\\#74](https://github.com/aksonov/react-native-router-flux/pull/74) ([gitter-badger](https://github.com/gitter-badger))\n- Use `initialRouteStack` instead of `initialRoute` [\\#73](https://github.com/aksonov/react-native-router-flux/pull/73) ([liuyaodong](https://github.com/liuyaodong))\n- Allow for renderTitle to be passed through [\\#70](https://github.com/aksonov/react-native-router-flux/pull/70) ([zebulgar](https://github.com/zebulgar))\n- clear 'npm install' artifacts from package.json [\\#58](https://github.com/aksonov/react-native-router-flux/pull/58) ([ghost](https://github.com/ghost))\n\n## [1.0.1](https://github.com/aksonov/react-native-router-flux/tree/1.0.1) (2015-12-10)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/1.0.0...1.0.1)\n\n**Closed issues:**\n\n- New demo [\\#46](https://github.com/aksonov/react-native-router-flux/issues/46)\n\n**Merged pull requests:**\n\n- Small comment change [\\#48](https://github.com/aksonov/react-native-router-flux/pull/48) ([zebulgar](https://github.com/zebulgar))\n\n## [1.0.0](https://github.com/aksonov/react-native-router-flux/tree/1.0.0) (2015-12-09)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/0.3.0...1.0.0)\n\n**Closed issues:**\n\n- Go back twice? [\\#39](https://github.com/aksonov/react-native-router-flux/issues/39)\n- replace does not call componentWillUnmount for replaced component [\\#36](https://github.com/aksonov/react-native-router-flux/issues/36)\n- Can it use with react-redux/native ??? [\\#34](https://github.com/aksonov/react-native-router-flux/issues/34)\n- Changeing Tab in Container [\\#28](https://github.com/aksonov/react-native-router-flux/issues/28)\n- \\[Android\\] transition effects stopped working after RN 0.13 update [\\#27](https://github.com/aksonov/react-native-router-flux/issues/27)\n- Getting state from Route at NavBar [\\#24](https://github.com/aksonov/react-native-router-flux/issues/24)\n- How do I use Actions.reset\\(\\) method? [\\#23](https://github.com/aksonov/react-native-router-flux/issues/23)\n- Unable to Launch TabBar on Android [\\#22](https://github.com/aksonov/react-native-router-flux/issues/22)\n- Unable to Launch TabBar on Android [\\#21](https://github.com/aksonov/react-native-router-flux/issues/21)\n- Example of calling Action from a fucntion? [\\#20](https://github.com/aksonov/react-native-router-flux/issues/20)\n- Android Support [\\#19](https://github.com/aksonov/react-native-router-flux/issues/19)\n- Swipe to go back [\\#17](https://github.com/aksonov/react-native-router-flux/issues/17)\n- Notification Count with TabBar [\\#16](https://github.com/aksonov/react-native-router-flux/issues/16)\n- Get current route in parent element [\\#15](https://github.com/aksonov/react-native-router-flux/issues/15)\n- Drawer layout on some routes [\\#14](https://github.com/aksonov/react-native-router-flux/issues/14)\n- Warning when calling an Action [\\#13](https://github.com/aksonov/react-native-router-flux/issues/13)\n- How to trigger \"Replace\" from Router Actions? \\(instead of push,pop\\) [\\#12](https://github.com/aksonov/react-native-router-flux/issues/12)\n\n**Merged pull requests:**\n\n- 1.0 release [\\#45](https://github.com/aksonov/react-native-router-flux/pull/45) ([aksonov](https://github.com/aksonov))\n- Use javascript syntax highlighting in examples [\\#38](https://github.com/aksonov/react-native-router-flux/pull/38) ([danscan](https://github.com/danscan))\n- Update package.json [\\#35](https://github.com/aksonov/react-native-router-flux/pull/35) ([Mokto](https://github.com/Mokto))\n- fix iOS demo\\[bundle url & packager failed with npm start\\] [\\#30](https://github.com/aksonov/react-native-router-flux/pull/30) ([qbig](https://github.com/qbig))\n\n## [0.3.0](https://github.com/aksonov/react-native-router-flux/tree/0.3.0) (2015-10-05)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/0.2.2...0.3.0)\n\n## [0.2.2](https://github.com/aksonov/react-native-router-flux/tree/0.2.2) (2015-09-29)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/0.2.0...0.2.2)\n\n## [0.2.0](https://github.com/aksonov/react-native-router-flux/tree/0.2.0) (2015-09-29)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/v0.1.10...0.2.0)\n\n**Closed issues:**\n\n- Changing the FlatFloatFromRight shadow color [\\#10](https://github.com/aksonov/react-native-router-flux/issues/10)\n- Cannot find module buildStyleInterpolator [\\#9](https://github.com/aksonov/react-native-router-flux/issues/9)\n- God it would be nice if... [\\#8](https://github.com/aksonov/react-native-router-flux/issues/8)\n\n## [v0.1.10](https://github.com/aksonov/react-native-router-flux/tree/v0.1.10) (2015-09-25)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/v0.1.1...v0.1.10)\n\n**Closed issues:**\n\n- Nitpicking  [\\#7](https://github.com/aksonov/react-native-router-flux/issues/7)\n\n**Merged pull requests:**\n\n- make components transparent [\\#6](https://github.com/aksonov/react-native-router-flux/pull/6) ([markburns](https://github.com/markburns))\n\n## [v0.1.1](https://github.com/aksonov/react-native-router-flux/tree/v0.1.1) (2015-09-07)\n[Full Changelog](https://github.com/aksonov/react-native-router-flux/compare/v0.1.0...v0.1.1)\n\n**Closed issues:**\n\n- Breaks when minified [\\#4](https://github.com/aksonov/react-native-router-flux/issues/4)\n\n## [v0.1.0](https://github.com/aksonov/react-native-router-flux/tree/v0.1.0) (2015-09-07)\n**Closed issues:**\n\n- No transition option [\\#2](https://github.com/aksonov/react-native-router-flux/issues/2)\n- Demo for README [\\#1](https://github.com/aksonov/react-native-router-flux/issues/1)\n\n**Merged pull requests:**\n\n- Add string names to avoid obfuscation [\\#5](https://github.com/aksonov/react-native-router-flux/pull/5) ([mull](https://github.com/mull))\n"
  },
  {
    "path": "LICENSE",
    "content": "MIT License\n\nCopyright (c) 2015-2017 aksonov\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "README.md",
    "content": "# React Native Router (v4.x) [![Backers on Open Collective](https://opencollective.com/react-native-router-flux/backers/badge.svg)](#backers) [![Sponsors on Open Collective](https://opencollective.com/react-native-router-flux/sponsors/badge.svg)](#sponsors) [![Join the chat at https://gitter.im/aksonov/react-native-router-flux](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/aksonov/react-native-router-flux?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![Codacy Badge](https://api.codacy.com/project/badge/grade/c6d869e2367a4fb491efc9de228c5ac6)](https://www.codacy.com/app/aksonov-github/react-native-router-flux) [![npm version](https://badge.fury.io/js/react-native-router-flux.svg)](http://badge.fury.io/js/react-native-router-flux) [![CircleCI](https://circleci.com/gh/aksonov/react-native-router-flux.svg?style=svg)](https://circleci.com/gh/aksonov/react-native-router-flux)\n\n[Follow author @PAksonov](https://twitter.com/PAksonov)\n\n`react-native-router-flux` is a different API over `react-navigation`. It helps users to define all the routes in one central place and navigate and communicate between different screens in an easy way. But it also means that `react-native-router-flux` inherits all [limitations](https://reactnavigation.org/docs/en/limitations.html) and changes from updated versions.\n\n### IMPORTANT NOTES\n#### v5.0.alpha.x is based on React Navigation v5.x (very early alpha, development in progress, help wanted!)\n\n#### v4.2.x is based on [React Navigation v4.x](https://reactnavigation.org/docs/4.x/getting-started)\n\n#### v4.1.0-beta.x is based on [React Navigation v3.x](https://reactnavigation.org/docs/en/3.x/getting-started.html)\n\n#### v4.0.x is based on [React Navigation v2.x]. See [this branch](https://github.com/aksonov/react-native-router-flux/tree/v3) and [docs](https://github.com/aksonov/react-native-router-flux/blob/master/README3.md) for v3 based on deprecated React Native Experimental Navigation API. It is not supported and may not work with latest React Native versions.\n\n#### v4.0.0-beta.x is based on [React Navigation v1.5.x](https://reactnavigation.org/). See [this branch](https://github.com/aksonov/react-native-router-flux/tree/v4.0.0-beta) for this version. It is also not supported and may not work with the latest React Native versions.\n\n---\n\n- [Examples](#try-the-example-apps)\n- [Motivation](https://gist.github.com/aksonov/e2d7454421e44b1c4c72214d14053410)\n- [v4 Features](#v4-features)\n- [API](/docs/API.md)\n- [Migrating from v3](/docs/MIGRATION.md)\n- [Sponsors/Backers/Contributors](#contributors)\n\n## Getting Started\n\n1. Install native dependencies used by RNRF (see below, https://reactnavigation.org/docs/en/getting-started.html)\n2. Install this component\n\n```sh\nyarn add react-native-router-flux\n```\n\n## install the following libraries first\n1. react-native-screens by ( ``` npm install react-native-screens || yarn add react-native-screens ```)\n2. react-native-gesture-handler ( ``` npm install react-native-gesture-handler || yarn add react-native-gesture-handler ```)\n3. react-native-reanimated (``` npm install react-native-reanimated || yarn add react-native-reanimated ```)\n4. react-native-safe-area-context (``` npm install react-native-safe-area-context || yarn add react-native-react-native-safe-area-context ```)\n5. @react-native-community/masked-view (``` npm install @react-native-community/masked-view || yarn add @react-native-community/masked-view ```)\n\n\n\n## Usage\n\nDefine all your routes in one React component...\n\n```jsx\nconst App = () => (\n  <Router>\n    <Stack key=\"root\">\n      <Scene key=\"login\" component={Login} title=\"Login\" />\n      <Scene key=\"register\" component={Register} title=\"Register\" />\n      <Scene key=\"home\" component={Home} />\n    </Stack>\n  </Router>\n);\n```\n\n...and navigate from one scene to another scene with a simple and powerful API.\n\n```jsx\n// Login.js\n\n// navigate to 'home' as defined in your top-level router\nActions.home(PARAMS);\n\n// go back (i.e. pop the current screen off the nav stack)\nActions.pop();\n\n// refresh the current Scene with the specified props\nActions.refresh({ param1: 'hello', param2: 'world' });\n```\n\n## API\n\nFor a full listing of the API, [view the API docs](https://github.com/aksonov/react-native-router-flux/blob/master/docs/API.md).\n\n## Try the [example apps](https://github.com/aksonov/react-native-router-flux/tree/master/examples)\n\n![rnrf](https://user-images.githubusercontent.com/3681859/27937441-ef61d932-626b-11e7-885f-1db7dc74b32e.gif)\n\n```sh\n# Get the code\ngit clone https://github.com/aksonov/react-native-router-flux.git\ncd react-native-router-flux/examples/[expo|react-native|redux]\n\n# Installing dependencies\nyarn\n\n# Run it\nyarn start\n```\n\n## v4 Features\n\n- Based on latest [React Navigation](https://reactnavigation.org) API\n- Separate navigation logic from presentation. You may now change navigation state directly from your business logic code - stores/reducers/etc. navigationStore\n- Built-in state machine (v3 `Switch` replacement)\n  - Each `Scene` with `component` defined can have `onEnter`/`onExit`/`on` handlers.\n  - `onEnter`/`on` handler can be async.\n  - For 'truthy' return of `onEnter`/`on`, `success` handler (if defined) will be executed\n    - if `success` is a string then router will navigate to the `Scene` with that key\n  - in case of handler's failure, `failure` prop (if defined) will be run.\n  - Combining `onEnter`, `onExit`, `success`, and `failure` makes patterns like authentication, data validation, and conditional transitions simple and intuitive.\n- [MobX](https://mobx.js.org/)-friendly: all scenes are wrapped with `observer`. You may subscribe to `navigationStore` (`Actions` in v3) and observe current navigation state. Not applicable to Redux.\n- Flexible Nav bar customization, currently not allowed by React Navigation:\n  https://github.com/react-community/react-navigation/issues/779\n- Drawer support (provided by React Navigation)\n- Inheritance of scene attributes allow you to avoid any code/attribute duplications. Adding `rightTitle` to a scene will apply to all child scenes simultaneously. See example app.\n- Access to your app navigations state as simple as `Actions.state`.\n- Use `Actions.currentScene` to get name of current scene.\n\n### Helpful tips if you run into some gotchas\n\n## Using Static on Methods with HOCs\n\n- This is just a helpful tip for anyone who use the onExit/onEnter methods as a static method in their Component Class. Please refer to this link https://reactjs.org/docs/higher-order-components.html.\n\n- If your Scene Components are Wrapped in Custom HOCs/ Decorators, then the static onExit/onEnter methods will not work as your Custom HOCs will not copy the static methods over to your Enhanced Component.Use the npm package called hoist-non-react-statics to copy your Component level static methods over to your Enhanced Component.\n\n## Implement onBack from your Scene after declaring it\n\n- If you have a Scene where in you want to make some changes to your Component State when Back button is pressed, then doing this\n\n```jsx\n<Scene key={...} component={...} onBack={()=>{/*code*/}}/>\n```\n\nwill not help.\n\n```jsx\n<Scene key={...} component={...} onBack={()=>{/*code*/}} back={true}/>\n```\n\nMake sure back = true is passed to your scene, now in your Component's lifecycle add this\n\n```jsx\ncomponentDidMount(){\n    InteractionManager.runAfterInteractions(()=> {\n        Actions.refresh({onBack:()=>this.changeSomethingInYourComponent()})\n    })\n}\n```\n\n## Contributors\n\nThis project exists thanks to all the people who contribute. [[Contribute]](CONTRIBUTING.md).\n<a href=\"https://github.com/aksonov/react-native-router-flux/graphs/contributors\"><img src=\"https://opencollective.com/react-native-router-flux/contributors.svg?width=890\" /></a>\n\n## Backers\n\nThank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/react-native-router-flux#backer)]\n\n<a href=\"https://opencollective.com/react-native-router-flux#backers\" target=\"_blank\"><img src=\"https://opencollective.com/react-native-router-flux/backers.svg?width=890\"></a>\n\n## Sponsors\n\nSupport this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/react-native-router-flux#sponsor)]\n\n<a href=\"https://opencollective.com/react-native-router-flux/sponsor/0/website\" target=\"_blank\"><img src=\"https://opencollective.com/react-native-router-flux/sponsor/0/avatar.svg\"></a>\n<a href=\"https://opencollective.com/react-native-router-flux/sponsor/1/website\" target=\"_blank\"><img src=\"https://opencollective.com/react-native-router-flux/sponsor/1/avatar.svg\"></a>\n<a href=\"https://opencollective.com/react-native-router-flux/sponsor/2/website\" target=\"_blank\"><img src=\"https://opencollective.com/react-native-router-flux/sponsor/2/avatar.svg\"></a>\n<a href=\"https://opencollective.com/react-native-router-flux/sponsor/3/website\" target=\"_blank\"><img src=\"https://opencollective.com/react-native-router-flux/sponsor/3/avatar.svg\"></a>\n<a href=\"https://opencollective.com/react-native-router-flux/sponsor/4/website\" target=\"_blank\"><img src=\"https://opencollective.com/react-native-router-flux/sponsor/4/avatar.svg\"></a>\n<a href=\"https://opencollective.com/react-native-router-flux/sponsor/5/website\" target=\"_blank\"><img src=\"https://opencollective.com/react-native-router-flux/sponsor/5/avatar.svg\"></a>\n<a href=\"https://opencollective.com/react-native-router-flux/sponsor/6/website\" target=\"_blank\"><img src=\"https://opencollective.com/react-native-router-flux/sponsor/6/avatar.svg\"></a>\n<a href=\"https://opencollective.com/react-native-router-flux/sponsor/7/website\" target=\"_blank\"><img src=\"https://opencollective.com/react-native-router-flux/sponsor/7/avatar.svg\"></a>\n<a href=\"https://opencollective.com/react-native-router-flux/sponsor/8/website\" target=\"_blank\"><img src=\"https://opencollective.com/react-native-router-flux/sponsor/8/avatar.svg\"></a>\n<a href=\"https://opencollective.com/react-native-router-flux/sponsor/9/website\" target=\"_blank\"><img src=\"https://opencollective.com/react-native-router-flux/sponsor/9/avatar.svg\"></a>\n"
  },
  {
    "path": "README2.md",
    "content": "# React Native Router (v2.x) [![Join the chat at https://gitter.im/aksonov/react-native-router-flux](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/aksonov/react-native-router-flux?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)\n\nRouter for React Native based on [exNavigator](https://github.com/exponentjs/ex-navigator)\n\n## Features\n- Define your screens (\"routes\") and animation transitions in one central location\n- Use simple syntax to call transitions anywhere in your code (e.g. `Actions.login`)\n- Eliminates the need to pass navigator objects to your screens\n- Use a `Schema` to define common properties for a group of screens. For example, you can define a \"modal\" `Schema` for screens that animate from the bottom of the screen.\n- Ability to show/hide navigation bar (see limitations)\n- Support for managing a tab bar, using [react-native-tabs](https://github.com/aksonov/react-native-tabs) (see demo)\n- Support for nested navigators. For example, each tab can have its own navigator, nested in a root navigator. Transition actions will automatically use the top navigator.\n\n## Installation\n```\nnpm i react-native-router-flux --save\n```\n\n## Usage\n1. In top-level index.js, define a `Router` and child `Route` elements for your screens.\n    * If some of your screens have common attributes, consider defining a `Schema` element to reduce repetition\n2. In any app screen:\n    * import {Actions} from 'react-native-router-flux'\n    * Actions.ACTION_NAME(PARAMS) will call appropriate action and params will be passed to the route\n\n## Configuration\n\n##### Router:\n| Property | Type | Default | Description |\n|---------------|----------|--------------|----------------------------------------------------------------|\n| header | object | null | optional header view |\n| footer | object | null | optional footer view (e.g. tab bar) |\n| hideNavBar | bool | false | hides navigation bar for every route |\n\n##### Route:\n\n| Property | Type | Default | Description |\n|-----------|--------|---------|--------------------------------------------|\n| name | string | required | Will be used to call screen transition, for example, `Actions.name(params)`. Must be unique. |\n| component | React.Component | semi-required | The `Component` to be displayed. Not required when defining a nested `Router` or child, see example |\n| type | string | optional | Defines how the new screen is added to the navigator stack. One of `push`, `modal`,`actionSheet`,`replace`, `switch`, `reset` `transitionToTop`.  Default is 'push'. `replace` tells navigator to replace current route with new route. `actionSheet` shows Action Sheet popup, you must pass callback as callback function, check Example for details. `modal` type inserts its 'component' after navigator component. It could be used for popup alerts as well for various needed processes before any navigator transitions (like login auth process).`switch` is used for tab screens. `reset` is similar to replace except it unmounts the componets in the navigator stack. `modal` component could be dismissed by using Actions.dismiss() `transitionToTop` will reset router stack ['route.name'] and with animation, if route has `sceneConfig`. eg `<Route name=\"login\" schema=\"modal\" component={Login} type=\"transitionToTop\" />` |\n| initial | bool | false | Set to `true` if this is the initial screen |\n| title | string | null | The title to be displayed in the navigation bar |\n| schema | string | optional | Set this property to the name of a previously defined `Schema` to inherit its properties |\n| wrapRouter | bool | false | If `true`, the route is automatically nested in its own `Router`. Useful for modal screens. For type==switch wrapRouter will be true|\n| sceneConfig | Navigator.SceneConfigs | optional | Defines the transition animation.  |\n| defaultRoute | string | optional | Defines which route to go to if this route is used as a tab and the tab is clicked on when the tab is already selected |\n| hideNavBar | bool | false | hides navigation bar for this route |\n| hideTabBar | bool | false | hides tab bar for this route (if built-in TabBar component is used as footer for parent Router, check Example)|\n| navigationBarStyle | View style |  | optional style override for the navigation bar |\n| titleStyle | Text style |  | optional style override for the title element |\n| renderTitle | Closure | | optional closure to render the title element |\n| barButtonIconStyle | Image style |  | optional style override for icon buttons (e.g. back icon) |\n| leftTitle | string | | optional string to display on the left if the previous route does not provide `renderBackButton` prop. `renderBackButton` > `leftTitle` > <previous route's `title`> |\n| renderLeftButton | Closure | | optional closure to render the left title / buttons element |\n| renderBackButton | Closure | | optional closure to render back text or button if this route happens to be the previous route |\n| leftButtonStyle | View style | | optional style override for the container of left title / buttons |\n| leftButtonTextStyle | Text style | | optional style override for the left title element |\n| rightTitle | string | | optional string to display on the right. `onRight` must be provided for this to appear. |\n| renderRightButton | Closure | | optional closure to render the right title / buttons element |\n| rightButtonStyle | View style | | optional style override for the container of right title / buttons |\n| rightButtonTextStyle | Text style | | optional style override for the right title element |\n\n##### Schema:\n\n| Property | Type | Default | Description |\n|-----------|--------|---------|--------------------------------------------|\n| name | string | required | The name of the schema, to be referenced in the route as `schema={\"name\"}` |\n| property | - |  - | A `Schema` can have any property that you want the `Route` to inherit  |\n\n\n## Example\n![launch](https://cloud.githubusercontent.com/assets/1321329/11692367/7337cfe2-9e9f-11e5-8515-e8b7a9f230ec.gif)\n\n```javascript\nimport React, {AppRegistry, Navigator, StyleSheet, Text, View} from 'react-native'\nimport Launch from './components/Launch'\nimport Register from './components/Register'\nimport Login from './components/Login'\nimport Login2 from './components/Login2'\nimport {Router, Route, Schema, Animations, TabBar} from 'react-native-router-flux'\nimport Error from './components/Error'\nimport Home from './components/Home'\nimport TabView from './components/TabView'\n\nclass TabIcon extends React.Component {\n    render(){\n        return (\n            <Text style={{color: this.props.selected ? 'red' :'black'}}>{this.props.title}</Text>\n        );\n    }\n}\n\nexport default class Example extends React.Component {\n    render() {\n        return (\n            <Router hideNavBar={true}>\n                <Schema name=\"modal\" sceneConfig={Navigator.SceneConfigs.FloatFromBottom}/>\n                <Schema name=\"default\" sceneConfig={Navigator.SceneConfigs.FloatFromRight}/>\n                <Schema name=\"withoutAnimation\"/>\n                <Schema name=\"tab\" type=\"switch\" icon={TabIcon} />\n\n                <Route name=\"launch\" component={Launch} initial={true} wrapRouter={true} title=\"Launch\"/>\n                <Route name=\"register\" component={Register} title=\"Register\"/>\n                <Route name=\"home\" component={Home} title=\"Replace\" type=\"replace\"/>\n                <Route name=\"login\" schema=\"modal\">\n                    <Router>\n                        <Route name=\"loginModal\" component={Login} title=\"Login\" schema=\"modal\"/>\n                        <Route name=\"loginModal2\" component={Login2} title=\"Login2\"/>\n                    </Router>\n                </Route>\n                <Route name=\"error\" component={Error} title=\"Error\"  type=\"modal\"/>\n                <Route name=\"register2\" component={Register} title=\"Register2\"  schema=\"withoutAnimation\"/>\n                <Route name=\"tabbar\">\n                    <Router footer={TabBar} hideNavBar={true} tabBarStyle={{borderTopColor:'#00bb00',borderTopWidth:1,backgroundColor:'white'}}>\n                        <Route name=\"tab1\" schema=\"tab\" title=\"Tab #1\" defaultRoute='tab1_1'>\n                            <Router>\n                                <Route name=\"tab1_1\" component={TabView} title=\"Tab #1_1\" />\n                                <Route name=\"tab1_2\" component={TabView} title=\"Tab #1_2\" />\n                            </Router>\n                        </Route>\n                        <Route name=\"tab2\" schema=\"tab\" title=\"Tab #2\" hideNavBar={true}>\n                            <Router onPop={()=>{console.log(\"onPop is called!\"); return true} }>\n                                <Route name=\"tab2_1\" component={TabView} title=\"Tab #2_1\" />\n                                <Route name=\"tab2_2\" component={TabView} title=\"Tab #2_2\" />\n                            </Router>\n                        </Route>\n                        <Route name=\"tab3\" schema=\"tab\" title=\"Tab #3\" component={TabView} hideTabBar={true}/>\n                        <Route name=\"tab4\" schema=\"tab\" title=\"Tab #4\" component={TabView} />\n                        <Route name=\"tab5\" schema=\"tab\" title=\"Tab #5\" component={TabView} />\n                    </Router>\n                </Route>\n            </Router>\n        );\n    }\n}\n```\n\ncomponents/Launch.js (initial screen)\n\n```javascript\nimport React, {View, Text, StyleSheet, TouchableHighlight} from 'react-native'\nimport Button from 'react-native-button'\nimport {Actions} from 'react-native-router-flux'\n\nclass Launch extends React.Component {\n    render(){\n        return (\n            <View style={styles.container}>\n                <Text>Launch page</Text>\n                <Button onPress={()=>Actions.login({data:\"Custom data\", title:'Custom title' })}>Go to Login page</Button>\n                <Button onPress={Actions.register}>Go to Register page</Button>\n                <Button onPress={Actions.register2}>Go to Register page without animation</Button>\n                <Button onPress={Actions.error('error message')}>Show error popup</Button>\n                <Button onPress={Actions.tabbar}>Go to TabBar page</Button>\n            </View>\n        );\n    }\n}\n\nvar styles = StyleSheet.create({\n    container: {\n        flex: 1,\n        justifyContent: 'center',\n        alignItems: 'center',\n        backgroundColor: 'transparent',\n    }\n});\n\nmodule.exports = Launch;\n```\n\n## Modals\nTo display a modal use ```type=\"modal\"``` for your route components.\nModal type inserts its 'component' after navigator component. See the ```Examples``` folder for more details.\n\nNote that **ReactNativeRouterFlux will not provide animations for modals** and you'll need to animate the modal yourself (or use a library)\n\n## Sidebar/Drawer support\nYou can easily configure react-native-router-flux to handle a sidebar/drawer for specific routes:  \n**1.** Create a sidebar/drawer component (you can use both [react-native-drawer](https://github.com/root-two/react-native-drawer) and [react-native-side-menu](https://github.com/react-native-fellowship/react-native-side-menu)) and pass its router props to its children:\n```javascript\n<DrawerLayout>\n   {React.Children.map(children, c => React.cloneElement(c, {route: this.props.route}))}\n</DrawerLayout>\n```  \n**2.** In you router component add the sidebar/drawer and nested routes following this pattern:\n```javascript\n<Router>\n  <Route name=\"without-drawer\"/>\n  <Route name=\"main\">\n   <Drawer>\n      <Router>\n        <Route name=\"with-drawer-a\"/>\n        <Route name=\"with-drawer-b\"/>\n      </Router>\n    </Drawer>\n  </Route>\n</Router>\n```\n\nThere is **an [example](https://github.com/efkan/rndrawer-implemented-rnrouter)** which is worked together with `react-native-drawer`.\n\nAlso here is another complete example of a working drawer using a common app with:\n- A session screen that just checks if the user is already logged-in on startup (SessionScreen)\n- An auth screen that handles signin/signup (AuthScreen)\n- Many other screens that show the true content of the app, all using the sidebar\n\n**SideDrawer.js (I'm using 'react-native-drawer')**\n```javascript\nimport Drawer from 'react-native-drawer'\n\nclass SideDrawer extends React.Component {\n  render() {\n    return (\n      <Drawer\n        type=\"overlay\"\n        content={<SideDrawerContent />}\n        tapToClose={true}\n        openDrawerOffset={0.2} \n        panCloseMask={0.2}\n        closedDrawerOffset={-3}\n        styles={{ drawer: drawerStyle, main: mainStyle }}\n        tweenHandler={(ratio) => ({ main: { opacity: (2 - ratio) / 2 } })}\n      >\n        {React.Children.map(this.props.children, c => React.cloneElement(c, {\n          route: this.props.route\n        }))}\n      </Drawer>\n    )\n  }\n}\n```\n\n**Router.js**\n```javascript\nconst hideNavBar = Platform.OS === 'android'\nconst paddingTop = Platform.OS === 'android' ? 0 : 8\n\nexport default class Routes extends React.Component {\n  render() {\n    return (\n      <Router>\n        <Schema\n          name='boot'\n          sceneConfig={Navigator.SceneConfigs.FadeAndroid}\n          hideNavBar={true}\n          type='replace'\n        />\n        <Schema\n          name='main'\n          sceneConfig={Navigator.SceneConfigs.FadeAndroid}\n          hideNavBar={hideNavBar}\n        />\n\n        <Route schema='boot' component={SessionScreen} name='session' initial={true} />\n        <Route schema='boot' component={AuthScreen} name='auth' />\n\n        <Route name='main' hideNavBar={true} type='reset'>\n          <SideDrawer>\n            <Router\n              sceneStyle={styles.scene}\n              navigationBarStyle={styles.navigationBar}\n              titleStyle={styles.title}\n              barButtonIconStyle={styles.barButtonIcon}\n              barButtonTextStyle={styles.barButtonText}\n            >\n              <Route schema='main' component={PlaceScreen} name='place' title='Places' />\n              <Route schema='main' component={PaymentScreen} name='payment' title='Payment' header={Toolbar} />\n            </Router>\n          </SideDrawer>\n        </Route>\n\n      </Router>\n    )\n  }\n}\n```\n\n## Redux/Flux support\nThis component is not opinionated and does not depend on any implementation of Flux or Redux, but you can easily connect it to them.\n\nIf 'dispatch' prop is passed to the router, it will be called with current route as `route`, `name` as route name and all route props, check Example for more details.\n\nAlso all route actions can be hooked by adding handlers for `Actions.onPush`, `Actions.onReplace`, `Actions.onPop` in your store(s).\n\nHere is an example of connecting the router and its routes to Redux and creating a component aware of being focused:  \n\n**1. Connect a `<Route>` to Redux**  \nConnecting a `<Route>` to Redux is easy, instead of:  \n```javascript\n<Route name=\"register\" component={RegisterScreen} title=\"Register\" />\n```\nyou might write:\n```javascript\n<Route name=\"register\" component={connect(selectFnForRegister)(RegisterScreen)} title=\"Register\" />\n```\nYou can also simply connect the component itself in its own file like you usually do.  \n  \n**2. Connect a `<Router>` to Redux**  \nIf you need to inform Redux of the navigation status (i.e. when you pop a route) just override the `<Router>` component included in `react-native-router-flux` with a connected one:  \n```javascript\nimport ReactNativeRouter, { Actions, Router } from 'react-native-router-flux'\nconst Router = connect()(ReactNativeRouter.Router) \n```\nNow when you use a `<Router>` it will be connected to the store and will trigger the following actions:\n- `Actions.BEFORE_ROUTE`\n- `Actions.AFTER_ROUTE`\n- `Actions.AFTER_POP`\n- `Actions.BEFORE_POP`\n- `Actions.AFTER_DISMISS`\n- `Actions.BEFORE_DISMISS`\n\nTake a look at [this](https://github.com/aksonov/react-native-router-flux/blob/master/Example/Example.js) for an example.\n\n**3. Catch the interested actions in your reducer**  \nFor this example I have a `global` reducer (where I keep the information needed by all my app) where I set the `currentRoute`:\n```javascript\ncase Actions.AFTER_ROUTE:\ncase Actions.AFTER_POP:\n  return state.set('currentRoute', action.name)\n```\nNow the reducer will catch every route change and update `global.currentRoute` with the currently focused route.  \nYou also can do many other interesting things from here, like saving an history of the navigation itself in an array!  \n\n**4. Update your component on focus**  \nI'm doing it on `componentDidUpdate` of my component of the route named `payment`.\nIf `global.currentRoute` is `payment` and the previous `global.currentRoute` was different, then the component has just been focused.\n```javascript\n  componentDidUpdate(prevProps) {\n    const prevRoute = prevProps.global.currentRoute\n    const currentRoute = this.props.global.currentRoute\n    if (currentRoute === 'payment' && prevRoute !== currentRoute) {\n      this.props.actions.doSomething()\n    }\n  }\n```\nP.S.: Remember to check `currentRoute === 'payment'`, otherwise you'll start doSomething() on every route change!  \n\n## Limitations\n### Nested Routers\n* If you are using a tab bar where each tab has its own `Router`, modal screens will have to be presented from the root navigator in order to cover the tab bar. To do this, the modal screen should be defined in the root router, and should have the `wrapRouter={true}` property as in the example below.\n```\n        <Router>\n          <Schema name=\"modal\" sceneConfig={Navigator.SceneConfigs.FloatFromBottom}/>\n          <Route name=\"myModal\" component={myModal} title=\"Modal\" schema=\"modal\" wrapRouter={true} />\n          <Route name=\"tabbar\">\n            <Router footer={TabBar}>\n              <Route name=\"tab1\" schema=\"tab\" title=\"Tab 1\" component={Tab1}/>\n            </Router>\n          </Route>\n        </Router>\n```\n\n##  Inter Routing\n### Routing from one nested route to the other\n* If you are in one nested route and you want to navigate to a route which is in different parent alltogether, this is what you should follow\n```\n  import { Actions as NavigationActions } from 'react-native-router-flux'\n  .\n  .\n  .\n  .\n  <Router>\n    <Scene key=\"route1\" hideNavBar type='reset'>\n      <Scene initial key='subRoute1' component={SubRoute1Screen} title='SubRoute1' type='reset' />\n      <Scene key='subRoute2' component={SubRoute2Screen} title='SubRoute2' />\n      <Scene key='subRoute3' component={SubRoute3Screen} title='SubRoute3' />\n      <Scene key='subRoute4' component={SubRoute4Screen} title='SubRoute4' />\n    </Scene>\n    <Scene key='route2'>\n      <Scene key='subRoute5'>\n        <Scene key='subRoute6' component={SubRoute6Screen} title='SubRoute6' />\n        <Scene key='subRoute7' component={SubRoute7Screen} title='SubRoute7' />\n      </Scene>\n    </Scene>\n  </Router>\n```\nLet's say you are at SubRoute3Screen and you want to navigate to SubRoute7Screen, you have to do the following in SubRoute3Screen:-\n\nNavigationActions.route2();\nNavigationActions.subRoute5();\nNavigationActions.subRoute7();\n\n"
  },
  {
    "path": "README3.md",
    "content": "# React Native Router (v3.x) [![Join the chat at https://gitter.im/aksonov/react-native-router-flux](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/aksonov/react-native-router-flux?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)\n\n- [Mini-Tutorial](https://github.com/aksonov/react-native-router-flux/blob/v3/docs/MINI_TUTORIAL.md)\n- [API and Configuration](https://github.com/aksonov/react-native-router-flux/blob/v3/docs/API_CONFIGURATION.md)\n  - Available Imports\n  - Router API\n  - Scene API\n- [Detailed Example](https://github.com/aksonov/react-native-router-flux/blob/v3/docs/DETAILED_EXAMPLE.md)\n- [Reactive/Redux/Flux](https://github.com/aksonov/react-native-router-flux/blob/v3/docs/REDUX_FLUX.md)\n- [Other Info](https://github.com/aksonov/react-native-router-flux/blob/v3/docs/OTHER_INFO.md)\n  - Modals\n  - Tabbar\n  - Custom navbar\n  - Switch\n  - Splitting Scenes\n  - Drawer (side-menu)\n  - Sub-Scenes\n- [Changelog](https://github.com/aksonov/react-native-router-flux/blob/v3/docs/CHANGELOG.md)\n- [Migrating from 2.x](https://github.com/aksonov/react-native-router-flux/blob/v3/docs/MIGRATION.md)\n\n## Features\n\n`react-native-router-flux` is a routing package that allows you to:\n\n- Define scene transitions in one central location\n- Without having to pass navigator objects around, and allow you to\n- Call transitions anywhere in your code with a simple syntax (e.g. `Actions.login({username, password})` or `Actions.profile({profile})` or even `Actions.profile(123)` - all params will be part of `this.props` for given Scene component).\n\n### New Features and Highlights\n\n- **Highly Customizable Navigation Bar** - Show/hide the navbar depending on Scene or even the state of a Scene (e.g. Edit/Save navbar for edit mode).\n\n- **Tab Bar Support** using [react-native-tabs](https://github.com/aksonov/react-native-tabs) (see Example app).\n\n- **Nested Navigators** (e.g. Each tab can have its own navigator, nested in a root navigator).\n\n- **Custom Scene Renderers** for action sheet, native TabBarIOS or anything else. See built-in `Modal` renderer (to display popups) for example. *Call for PRs!* let's build some custom renderers for ActionSheet, Drawer, etc. Let's make an awesome library! Currently, if you want to use Action Sheets you'll need to use a 3rd party module.\n\n- **Dynamic Routing** allows you to choose which scene to render depending on application state (see the `Switch` renderer, useful for authentication).\n\n- **Bring Your Own Reducer** for navigation state.\n\n- **Reset History Stack** - The new [`reset`](https://github.com/aksonov/react-native-router-flux/blob/v3/docs/API_CONFIGURATION.md#scene)type for clearing the history stack and eliminating the navbar back button.\n\n- **More Powerful State Control** - Support for having different states while on the same screen. For example, \"View My Account\" could allow in-place editing of fields and \"Save\", \"Cancel\" navigation bar buttons should appear.\n\n## Getting Started\n\nCheck out the [mini-tutorial](https://github.com/aksonov/react-native-router-flux/blob/v3/docs/MINI_TUTORIAL.md) for a quick walkthrough of the routing system.\n\n## Supported configurations\n\nWhile ExperimentalNavigation API is not stable, RNRF uses separated fork of ExperimentalNavigation API to avoid dependency from React Native version.\nSo 3.30 version of RNRF doesn't depend from React Native version, but from that fork (now it is based on 0.26 API).\nYou could use this component with RN0.26+\n\n## Installation\n```\nnpm i react-native-router-flux --save\n```\n\n## Usage\nIn your top-level `index.js`, define your scenes using the `Scene` component and pass it into the `Router` as children:\n```js\nimport {Scene, Router} from 'react-native-router-flux';\n\nclass App extends React.Component {\n  render() {\n    return <Router>\n      <Scene key=\"root\">\n        <Scene key=\"login\" component={Login} title=\"Login\"/>\n        <Scene key=\"register\" component={Register} title=\"Register\"/>\n        <Scene key=\"home\" component={Home}/>\n      </Scene>\n    </Router>\n  }\n}\n```\nAlternatively, you could define all of your scenes during compile time and use it later within `Router`:\n```js\nimport {Actions, Scene, Router} from 'react-native-router-flux';\n\nconst scenes = Actions.create(\n  <Scene key=\"root\">\n    <Scene key=\"login\" component={Login} title=\"Login\"/>\n    <Scene key=\"register\" component={Register} title=\"Register\"/>\n    <Scene key=\"home\" component={Home}/>\n  </Scene>\n);\n\n/* ... */\n\nclass App extends React.Component {\n  render() {\n    return <Router scenes={scenes}/>\n  }\n}\n```\n\nOn any Scene, you can also call the following functions by first importing the `Actions` object:\n```js\nimport {Actions} from 'react-native-router-flux'\n```\nAnd then:\n\n* `Actions.ACTION_NAME(PARAMS)` will call the appropriate action and params will be passed to the scene.\n* `Actions.pop()` will pop the current screen. It accepts following optional params:\n  * `{popNum: [number]}` allows to pop multiple screens at once\n  * `{refresh: {...propsToSetOnPreviousScene}}` allows to refresh the props of the scene that it pops back to\n* `Actions.refresh(PARAMS)` will update the properties of the current screen.\n\n## Production Apps using react-native-router-flux\n+ Buddify ([iOS](https://itunes.apple.com/app/id1149011372), [Android](https://play.google.com/store/apps/details?id=com.buddify)) - helps travelers discover fun things to do locally.\n+ GuavaPass.com ([iOS](https://itunes.apple.com/en/app/guavapass-one-pass-fitness/id1050491044?l=en&mt=8), Android) - offers convenient access to top classes at boutique fitness studios across Asia.\n+ Epic Fail Videos ([iOS](https://itunes.apple.com/us/app/epic-fail-videos-best-fail/id1115219339), [Android](https://play.google.com/store/apps/details?id=com.hazuu.epicfailvideos)) - The best Fail Videos Collection, never miss a laugh with your friends!\n+ Junk Free ([iOS](https://itunes.apple.com/us/app/junk-free-by-junk-free-june/id1109940159)) - A simple way to find, share, and save recipes, workouts, and other healthy content with your friends, family and workmates.\n+ chozun ([iOS](https://itunes.apple.com/au/app/chozun/id1097365167), [Android](https://play.google.com/store/apps/details?id=com.chozun)) - Your travel companion, matching your lifestyle on the go!\n+ Snappatizer ([iOS](https://itunes.apple.com/us/app/snappatizer-find-rank-best/id1147400405?mt=8)) - Find and rank the best food around you.\n+ Look Lock ([GitHub](https://github.com/7kfpun/PhotosReactNative), [iOS](https://itunes.apple.com/us/app/look-lock-show-photos-without/id1151863742), [Android](https://play.google.com/store/apps/details?id=com.kfpun.photos)) - Show photos without worries.\n+ BusDue, ([iOS](https://itunes.apple.com/gb/app/busdue/id1185327843?mt=8), [Android](https://play.google.com/store/apps/details?id=com.busdue)) - London bus arrival time app\n\n## Support\nThanks to all who submitted PRs to 2.x/3.x releases. If you like the component and want to support it, feel free to donate any amount or help with issues.\n\n\n\n\n"
  },
  {
    "path": "__tests__/scenes.test.js",
    "content": "import React from 'react';\nimport { Text } from 'react-native';\n\n// Note: test renderer must be required after react-native.\nimport renderer from 'react-test-renderer';\nimport Router from '../src/Router';\nimport Scene from '../src/Scene';\nimport NavigationStore from '../src/Store';\n\nconst B = () => <Text>Hello world!</Text>;\nconst router = (\n  <Router>\n    <Scene>\n      <Scene key=\"b\">\n        <Scene key=\"a\" component={B} param=\"1\" />\n        <Scene key=\"c\" component={B} param=\"2\" />\n      </Scene>\n    </Scene>\n  </Router>\n);\n\ntest('renders correctly', (done) => {\n  // TODO: fix react-native-gesture-handler error\n  // renderer.create(router);\n  // console.log('STATE:', JSON.stringify(navigationStore.state));\n  // navigationStore.c({ data: 'abc' });\n  // navigationStore.refresh({ data: 'abcde' });\n  // console.log('STATE:', JSON.stringify(navigationStore.state));\n  // navigationStore.pop();\n  // console.log('STATE:', JSON.stringify(navigationStore.state));\n  // navigationStore.refresh({ a: 3 });\n  // console.log('STATE:', JSON.stringify(navigationStore.state));\n  // navigationStore.popTo('NOT_A_REAL_SCENE');\n  // console.log('STATE:', JSON.stringify(navigationStore.state));\n  done();\n});\n"
  },
  {
    "path": "babel.config.js",
    "content": "module.exports = {\n  \"presets\": [\n    \"babel-preset-react-native\"\n  ],\n  \"plugins\": [\n    [\"@babel/plugin-proposal-decorators\", { \"legacy\": true }]\n  ]\n}\n"
  },
  {
    "path": "docs/API.md",
    "content": "# API and Configuration\n\n## Available imports\n- [`Router`](#router)\n- [`Scene`](#scene)\n- [`Tabs`](#tabs-tabs-or-scene-tabs)\n- [`Stack`](#stack-stack)\n- [`Tabbed Scene`](#tab-scene-child-scene-within-tabs)\n- [`Drawer`](#drawer-drawer-or-scene-drawer)\n- [`Modal`](#modals-modal-or-scene-modal)\n- [`Lightbox`](#lightbox-lightbox)\n- [`Actions`](#actions)\n- [`NavigationStore`](#navigationstore)\n- [`ActionConst`](#actionconst)\n\n## Router:\n\n| Property | Type | Default | Description |\n|-------------|----------|--------------|----------------------------------------------------------------|\n| `backAndroidHandler`     | `Function` |  | Allows custom control of hardwareBackPress in Android (optional). For more info check [BackHandler](https://facebook.github.io/react-native/docs/backhandler.html).  |\n| `children` |  | semi-required | Scene root element (required if `navigator` is not set) |\n| `navigator`   | `Class` |  | Application navigator with all Scenes created by `Actions.create` - it is altenative way to create Router, mostly used for Redux integration (see ReduxExample for more details) |\n| `onStateChange`   | `Function` |  | function to be called every time when navigation state is changed. Useful for mobx stores to change observables (set scene to `Actions.currentScene`, etc.) |\n| `sceneStyle`     | `Style` |  | Style applied to all scenes (optional) |\n| `uriPrefix`     | `string` |  | A uri prefix to strip from incoming urls for deep linking. For example, if you wanted to support deep linking from `www.example.com/user/1234/`, then you could pass `example.com` to only match paths against `/user/1234/`. |\n| `wrapBy`   | `Function` |  | function to wrap each Scene component and nav bar buttons - allows easy MobX integration (by passing `observer`) |\n| `navigationStore` | `NavigationStore` | If you don't want to use singleton `Actions`, you can pass a custom `new NavigationStore()` as prop to Router |\n\n## Scene:\nThe basic routing component for this router, all `<Scene>` components require a `key` prop that must be unique. A parent `<Scene>` must have a `component` as a `prop` as it will act as a grouping component for its children.\n\nAll properties of type `React.Component` will receive the same properties available on the Scene.\n\n| Property | Type | Default | Description |\n|-----------|----------|----------|--------------------------------------------|\n| `key`       | `string` | `required` | Will be used to call screen transition, for example, `Actions.name(params)`. Must be unique. |\n| `path`       | `string` |  | Will be used to match against incoming deep links and pull params. For example, the path `/user/:id/` would specify to call the Scene's action with params `{ id: 1234 }` from the url `/user/1234/`. Should adhere to widely accepted uri templating standard https://tools.ietf.org/html/rfc6570 |\n| `component` | `React.Component` | `semi-required` | The `Component` to be displayed. Not required when defining a nested `Scene`, see example. |\n| `back`     | `boolean` | `false` | If it is `true` back button is displayed instead of left/drawer button defined by upper container. |\n| `backButtonImage`     | `string` | | Image source to substitute for the nav back button |\n| `backButtonTextStyle` | `Style` |  | Style applied to back button text |\n| `backButtonTintColor`     | `string` | | Custom back button tint color |\n| `backTitle` | `string` |  | Specifies the back button title for scene |\n| `backTitleEnabled` | `boolean` |  | allows you to force back button titles to either be rendered or not (if you disagree with defaults for your platform and layout preset) |\n| `clone`     | `boolean` | `false` | Scenes marked with `clone` will be treated as templates and cloned into the current scene's parent when pushed. See example. |\n| `contentComponent`     | `React.Component` |  | Component used to render the content of the drawer (e.g. navigation items). |\n| `drawer`     | `boolean` | `false` | load child scenes inside [DrawerNavigator](https://reactnavigation.org/docs/navigators/drawer) |\n| `drawerLockMode` | enum('unlocked', 'locked-closed', 'locked-open')  |  | If a child of a drawer, specifies the [lock mode of the drawer](https://facebook.github.io/react-native/docs/drawerlayoutandroid.html#drawerlockmode) |\n| `failure` | `Function` | | If `on` returns a \"falsey\" value then `failure` is called. |\n| `headerMode` | `string` | `float` | Specifies how the header should be rendered: `float` (render a single header that stays at the top and animates as screens are changed. This is a common pattern on iOS.), `screen` (each screen has a header attached to it and the header fades in and out together with the screen. This is a common pattern on Android) or `none` (No header will be rendered) |\n| `headerLayoutPreset` | `string` | iOS: `center` Android: `left` | Change layout preset from header to be able to center text in some cases where it would be misaligned. |\n| `hideBackImage`     | `boolean` | `false` | hide back image |\n| `hideNavBar`     | `boolean` | `false` | hide the nav bar |\n| `init`     | `boolean` | `false` | If it is `true` back button will not be displayed |\n| `initial`   | `boolean` | `false` | Set to `true` if this is the first scene to display among its sibling `Scene`s |\n| `leftButtonIconStyle`     | `Style` |  | Style applied to left button Image |\n| `leftButtonImage`     | `Image` |  | Image to substitute for the left nav bar button |\n| `leftButtonStyle`     | `Style` |  | Style applied to left button |\n| `leftButtonTextStyle`     | `Style` |  | Style applied to left button text |\n| `modal`     | `boolean` | `false` |  Defines scene container as 'modal' one, i.e. all children scenes will have bottom-to-top animation. It is applicable only for containers (different from v3 syntax) |\n| `navBar` | `React.Component`| | Optional React component to render custom NavBar |\n| `navBarButtonColor` | `string` | | Set the color of the back button in the navBar |\n| `navigationBarStyle`     | `Style` | | Style applied to nav bar |\n| `navigationBarTitleImage` | `Object` | | The `Image` source that overrides the `title` in the navbar the image in the center of the navbar |\n| `navigationBarTitleImageStyle` | `object` | | Styles to apply to `navigationBarTitleImage` |\n| `navTransparent`     | `boolean` | `false` | nav bar background transparency |\n| `on`     | `Function` | | aka `onEnter` |\n| `onBack`     | `Function` |  | Called when the back button is pressed. |\n| `onEnter`     | `Function` | | Called when the `Scene` is navigated to. `props` are provided as a function param. Only scenes with 'component' defined is supported. Your component class may also have `onEnter` function |\n| `onExit`     | `Function` | | Called when the `Scene` is navigated away from. Only scenes with 'component' defined is supported. Your component class may also have `onExit` function |\n| `onLeft`     | `Function` |  | Called when the left nav bar button is pressed. |\n| `onRight`     | `Function` |  | Called when the right nav bar button is pressed. |\n| `renderBackButton` | `React.Component` | | React component to render back button |\n| `renderLeftButton` | `React.Component` | | React component to render as the left button |\n| `renderRightButton` | `React.Component` | | React component to render as the right button |\n| `renderTitle`     | `React.Component` |  | React component to render title for nav bar |\n| `rightButtonImage`     | `Image` |  | Image to substitute for the right nav bar button |\n| `rightButtonStyle`     | `Style` |  | Style applied to right button image |\n| `rightButtonTextStyle`     | `Style` |  | Style applied to right button text |\n| `rightTitle` | `string` |  | Specifies the right button title for scene |\n| `success`     | `Function` | | If `on` returns a \"truthy\" value then `success` is called. |\n| `tabs`     | `boolean` | `false` | load child scenes as [TabNavigator](https://reactnavigation.org/docs/navigators/tab). Other [Tab Navigator  props](https://reactnavigation.org/docs/navigators/tab#TabNavigatorConfig) also apply here. |\n| `title`     | `string` |  | Text to be displayed in the center of the nav bar. |\n| `titleStyle`     | `Style` |  | Style applied to the title |\n| `type`   | `string` | `push` | Optional type of navigation action. You could use `replace` to replace current scene with this scene |\n| all other props     |  |  | Any other props not listed here will be pass on to the specified `Scene`'s `component` |\n\n## Tabs (`<Tabs>` or `<Scene tabs>`)\nCan use all `props` listed above in `<Scene>` as `<Tabs>` is syntatic sugar for `<Scene tabs={true}>`.\n\n| Property | Type | Default | Description |\n|-----------------|----------|----------|--------------------------------------------|\n| `activeBackgroundColor` | `string` |  | Specifies the active background color for the tab in focus |\n| `activeTintColor`     | `string` |  | Specifies the active tint color for tabbar icons |\n| `backToInitial`     | `boolean` | `false` | Back to initial screen on focused tab if tab icon was tapped. If your intention is to manage navigation from `tabBarOnPress`, do not set this prop `true`. Both props defined will make the `tabBarOnPress` passed to be wrapped and called in conjunction with the default handlers from tabbar. |\n| `hideTabBar`     | `boolean` | `false` | hide the tab bar |\n| `inactiveBackgroundColor` | `string` |  | Specifies the inactive background color for the tabs not in focus |\n| `inactiveTintColor`     | `string` |  | Specifies the inactive tint color for tabbar icons |\n| `indicatorStyle`     | `object` |  | Override the style for active tab indicator. |\n| `labelStyle` | `object` | | Overrides the styles for the tab label |\n| `lazy`     | `boolean` | `false` | Won't render/mount the tab scene until the tab is active |\n| `showLabel`     | `boolean` | `true`  | Boolean to show or not the tabbar icons labels |\n| `tabBarComponent`     | `React.Component` |  | React component to render custom tab bar |\n| `tabBarOnPress`     | `function` | | Custom tab bar icon press. |\n| `tabBarPosition`     | `string` |  | Specifies tabbar position. Defaults to `bottom` on iOS and `top` on Android. |\n| `tabBarStyle` | `object` | | Override the tabbar styles |\n| `tabStyle` | `object` | | Override the style for an individual tab of the tabbar |\n| `upperCaseLabel`     | `boolean` | `true` | Whether to make label uppercase, default is true. |\n| `wrap`     | `boolean` | `true` | Wrap each scene with own navbar automatically (if it is not another container). |\n\n## Custom Tab Bar Component\nTo implement a custom tab bar, import your component and assign it to the `tabBarComponent` prop in `<Tabs>`.\n```jsx\n// ... import components\n<Tabs\n  key=\"tabBar\"\n  tabBarComponent={CustomTabBar}\n>\n  <Scene key=\"tab1\" component={TabOne} title=\"Tab1\"/>\n  <Scene key=\"tab2\" component={TabTwo} title=\"Tab2\"/>\n</Tabs>\n```\nSample code for a custom tab bar component that will navigate to scene when tab is clicked:\n```jsx\nimport React from 'react';\nimport { Text, View, TouchableOpacity } from 'react-native';\nimport { Actions } from 'react-native-router-flux';\n\nexport default class CustomTabBar extends React.Component {\n  render() {\n    const { state } = this.props.navigation;\n    const activeTabIndex = state.index;\n\n    return (\n      <View>\n        {\n          state.routes.map(element => (\n            <TouchableOpacity key={element.key} onPress={() => Actions[element.key]()}>\n              <Text>{element.key.toUpperCase()}</Text>\n            </TouchableOpacity>\n          ))\n        }\n      </View>\n    );\n  }\n}\n```\n\n## LegacyTabs (`<LegacyTabs>` or `<Scene tabs={true} legacy={true}>`)\nCan use all `props` listed above in `<Scene>` as `<LegacyTabs>` is syntatic sugar for `<Scene tabs={true} legacy={true}>`.\n\n| Property | Type | Default | Description |\n|-----------------|----------|----------|--------------------------------------------|\n| `activeBackgroundColor` | `string` |  | Specifies the active background color for the tab in focus |\n| `activeTintColor`     | `string` |  | Specifies the active tint color for tabbar icons |\n| `animationEnabled`     | `boolean` | `true` | Enable or disable tab swipe animation. |\n| `backToInitial`     | `boolean` | `false` | Back to initial screen on focused tab if tab icon was tapped. |\n| `hideTabBar`     | `boolean` | `false` | hide the tab bar |\n| `inactiveBackgroundColor` | `string` |  | Specifies the inactive background color for the tabs not in focus |\n| `inactiveTintColor`     | `string` |  | Specifies the inactive tint color for tabbar icons |\n| `indicatorStyle`     | `object` |  | Override the style for active tab indicator. |\n| `labelStyle` | `object` | | Overrides the styles for the tab label |\n| `lazy`     | `boolean` | `false` | Won't render/mount the tab scene until the tab is active |\n| `showLabel`     | `boolean` | `true`  | Boolean to show or not the tabbar icons labels |\n| `swipeEnabled`     | `boolean` | `false` | Enable or disable swiping tabs. |\n| `tabBarComponent`     | `React.Component` |  | React component to render custom tab bar |\n| `tabBarOnPress`     | `function` | | Custom tab bar icon press. |\n| `tabBarPosition`     | `string` |  | Specifies tabbar position. Defaults to `bottom` on iOS and `top` on Android. |\n| `tabBarStyle` | `object` | | Override the tabbar styles |\n| `tabStyle` | `object` | | Override the style for an individual tab of the tabbar |\n| `upperCaseLabel`     | `boolean` | `true` | Whether to make label uppercase, default is true. |\n| `wrap`     | `boolean` | `true` | Wrap each scene with own navbar automatically (if it is not another container). |\n\n\n## Stack (`<Stack>`)\nA component to group Scenes together for its own stack based navigation. Using this will create a separate navigator for this stack, so expect two navbars to appear unless you add `hideNavBar`.\n\n## Tab Scene (child `<Scene>` within `Tabs`)\nA `Scene` that is a direct child of `Tabs` and can use all `props` listed above in `Scene`,\n\n| Property | Type | Default | Description |\n|-----------------|----------|----------|--------------------------------------------|\n| `icon` | `component` | `undefined` | a React Native component to place as a tab icon\n| `tabBarLabel` | `string` | | The string to override a tab label |\n\n## Drawer (`<Drawer>` or `<Scene drawer>`)\nCan use all `prop` as listed in `Scene` as `<Drawer>`, syntatic sugar for `<Scene drawer={true}>`\n\n| Property | Type | Default | Description |\n|---|---|---|---|\n| `drawerIcon` | `React.Component` |  | Arbitrary component to be used for drawer 'hamburger' icon, you have to set it together with `drawer` prop |\n| `drawerImage` | `Image` |  | Image to substitute drawer 'hamburger' icon, you have to set it together with `drawer` prop |\n| `drawerPosition` | `string`  | `left` | Determines whether the drawer is on the right or the left. Keywords accepted are `right` and `left` |\n| `drawerWidth` | `number`  |  | The width, in pixels, of the drawer (optional)|\n| `hideDrawerButton` | `boolean` | `false` | Boolean to show or not the drawerImage or drawerIcon |\n\n\n## Modals (`<Modal>` or `<Scene modal>`)\nTo implement a modal, you must use `<Modal>` as the root scene in your `Router`. The `Modal` will render the first scene (should be your true root scene) normally, and all following\nTo display a modal use `<Modal>` as root renderer, so it will render the first element as `normal` scene and all others as popups (when they are pushed).\n\nExample:\nIn the example below, the `root` Scene is nested within a `<Modal>`, since it is the first nested `Scene`, it will render normally. If one were to `push` to `statusModal`, `errorModal` or `loginModal`, they will render as a `Modal` and by default will pull up from the bottom of the screen. It is important to note that currently the `Modal` does not allow for transparent backgrounds.\n\n```jsx\n//... import components\n<Router>\n  <Modal>\n    <Scene key=\"root\">\n      <Scene key=\"screen1\" initial={true} component={Screen1} />\n      <Scene key=\"screen2\" component={Screen2} />\n    </Scene>\n    <Scene key=\"statusModal\" component={StatusModal} />\n    <Scene key=\"errorModal\" component={ErrorModal} />\n    <Scene key=\"loginModal\" component={LoginModal} />\n  </Modal>\n</Router>\n```\n\n## Lightbox (`<Lightbox>`)\nLightbox is a component used to render a component on top of the current `Scene`. Unlike modal, it will allow for resizing and transparency of the background.\n\nExample:\nIn the example below, the `root` Scene is nested within a `<Lightbox>`, since it is the first nested `Scene`, it will render normally. If one were to `push` to `loginLightbox`, they will render as a `Lightbox` and by default will lay on top of the current `Scene` allowing for transparent backrounds.\n\n```jsx\n//... import components\n<Router>\n  <Lightbox>\n    <Scene key=\"root\">\n      <Scene key=\"screen1\" initial={true} component={Screen1} />\n      <Scene key=\"screen2\" component={Screen2} />\n    </Scene>\n\n    {/* Lightbox components will lay over the screen, allowing transparency*/}\n    <Scene key=\"loginLightbox\" component={loginLightbox} />\n  </Lightbox>\n</Router>\n```\n\n## Actions\nThis `Object` is the main utility is to provide navigation features to your application. Assuming your `Router` and `Scenes` are configured properly, use the properties listed below to navigate between scenes. Some offer the added functionality to pass React `props` to the navigated scene.\n\nThese can be used directly, for example, `Actions.pop()` will dispatch correspond action written in the source code, or, you can set those constants in scene type, when you do Actions.main(), it will dispatch action according to your scene type or the default one.\n\n| Property | Type | Parameters | Description |\n|-----------------|----------|----------|--------------------------------------------|\n| `[key]` | `Function` | `Object` | The `Actions` object \"automagically\" uses the `Scene`'s `key` prop in the `Router` to navigate. To navigate to a scene, call `Actions.key()` or `Actions[key].call()`. |\n| `create` | `React.Element` | `(rootScene: Scene, props: Object, wrapBy: Function)` | pass `Scene` to create your app navigator and the Props the Router should receive. It is alternative router creation method mostly used for Redux integration |\n| `currentScene` | `String` | | Returns the current scene that is active |\n| `drawerClose` | `Function` | | Closes the `Drawer` if applicable |\n| `drawerOpen` | `Function` | | Opens the `Drawer` if applicable |\n| `jump` | `Function` | `(sceneKey: String, props: Object)` | used to switch to a new tab. For `Tabs` only. |\n| `pop` | `Function` | | Go back to the previous scene by \"popping\" the current scene off the nav stack |\n| `popTo` | `Function` | `(sceneKey: String, props: Object)` | Pops the navigation stack until the `Scene` with the specified key is reached. |\n| `push` | `Function` | `(sceneKey: String, props: Object)` | Pushes the scene to the stack, performing a transition to the new scene. |\n| `ref` | `Object` | | Allow access to component instance through it's ref on `onEnter` and `onExit` events in the `Scene` |\n| `refresh` | `Function` | `(props: Object)` | Reloads the current scene by loading new `props` into the `Scene` |\n| `replace` | `Function` | `(sceneKey: String, props: Object)` |  Pops the current scene from the stack and pushes the new scene to the navigation stack. *No transition will occur. |\n| `reset` | `Function` | `(sceneKey: String, props: Object)` | Clears the routing stack and pushes the scene into the first index. *No transition will occur.* |\n\nIf you're having problem accessing `Actions.ref.your_component_ref`, try checking if it is `undefined` first before accessing it's values, so it can access the reference after the component is mounted. An example:\n```\nonEnter={() => {\nif(Actions.refs.your_component_ref !== undefined) { \n  //now you can access it's properties without trouble\n  Actios.refs.your_component_ref.selector.props.someCoolFunction();\n  }\n}}\n```\n\n### NavigationStore\n\n`NavigationStore` is the class that `Actions` is an instance of. In other words, `Actions` is the singleton instance of `NavigationStore` — but if you prefer, you can instantiate a `NavigationStore` on your own and pass it to `Router` explicitly.\n\n## ActionConst\nType constants to determine `Scene` transitions, These are **PREFERRED** over typing their values manually as these are subject to change as the project is updated.\n\n| Property | Type | Value | Shorthand |\n|-----------------|----------|----------|--------------------------------------------|\n| `ActionConst.ANDROID_BACK` | `string` | 'REACT_NATIVE_ROUTER_FLUX_ANDROID_BACK' | *N/A* |\n| `ActionConst.BACK_ACTION` | `string` | 'REACT_NATIVE_ROUTER_FLUX_BACK_ACTION' | `pop` |\n| `ActionConst.BACK` | `string` | 'REACT_NATIVE_ROUTER_FLUX_BACK' | `pop` |\n| `ActionConst.BLUR` | `string` | 'REACT_NATIVE_ROUTER_FLUX_BLUR' | *N/A* |\n| `ActionConst.FOCUS` | `string` | 'REACT_NATIVE_ROUTER_FLUX_FOCUS' | *N/A* |\n| `ActionConst.JUMP` | `string` | 'REACT_NATIVE_ROUTER_FLUX_JUMP' | `jump` |\n| `ActionConst.POP_TO` | `string` | 'REACT_NATIVE_ROUTER_FLUX_POP_TO' | `popTo` |\n| `ActionConst.PUSH_OR_POP` | `string` | 'REACT_NATIVE_ROUTER_FLUX_PUSH_OR_POP' | `push` |\n| `ActionConst.PUSH` | `string` | 'REACT_NATIVE_ROUTER_FLUX_PUSH' | `push` |\n| `ActionConst.REFRESH` | `string` | 'REACT_NATIVE_ROUTER_FLUX_REFRESH' | `refresh` |\n| `ActionConst.REPLACE` | `string` | 'REACT_NATIVE_ROUTER_FLUX_REPLACE' | `replace` |\n| `ActionConst.RESET` | `string` | 'REACT_NATIVE_ROUTER_FLUX_RESET' | `reset` |\n\n## Universal and Deep Linking\n#### Use Case\n- Consider a web app and mobile app pairing for a social network, which might have a url `https://thesocialnetwork.com/profile/1234/`.\n- If we were building both a web app and a mobile app, we'd like to be able to express that uri scheme across platforms with the path `/profile/:id/`.\n- On the web, we might want `React-Router` to to open up our `<Profile />` component with the `props` `{ id: 1234 }`.\n- On mobile, if we've correctly set up our Android/iOS environment to launch our application and open our RNRF `<Router />`, then we also want to navigate to our mobile `<Profile />` scene with the `params` ` { id: 1234 }`\n\n#### Usage\n```javascript\n<Router uriPrefix={'thesocialnetwork.com'}>\n  <Scene key=\"root\">\n     <Scene key={'home'} component={Home} />\n     <Scene key={'profile'} path={\"/profile/:id/\"} component={Profile} />\n     <Scene key={'profileForm'} path={\"/edit/profile/:id/\"} component={ProfileForm} />\n  </Scene>\n</Router>\n```\n\nIf a user clicks on `http://thesocialnetwork.com/profile/1234/` on their device, they'll open the `<Router />` and then call `Actions.profile({ id: 1234 })`\n"
  },
  {
    "path": "docs/CHANGELOG.md",
    "content": "# Change log\n- 3.26.22 Pass DefaultRenderer props to underlying scene component\n- 3.26.21 Added onBack, hideBackImage properties\n- 3.26.20 Support for 'modifier' functions inside Refresh actions, like `Actions.refresh({ key: 'drawer', open: value=>!value })`\n- 3.26.0 Support for React Native 0.26\n- 3.22.20 fix more ESLint errors, fix passing leftButtonStyle property for back button\n- 3.22.18 fix some ESLint errors and ignore pop for root scene\n- 3.22.17 allow jump & push together - now you could call Actions.tab2_2() (`tab2_2` is next scene after `tab2`) even if `tab2` is not active\n- 3.22.16 simplified syntax for sub-states\n- 3.22.15 introduces support for different states inside the same screen.\n- 3.22.10 simplifies customization of own NavBar. From now you could import built-in NavBar from the component and customize it. You could set it globally to all scenes by setting `navBar` property for `Router` component.\nFor all other scenes you may pass rightButton, leftButton for custom buttons or rightTitle & onRight, leftTitle & onLeft for text buttons.\n"
  },
  {
    "path": "docs/MIGRATION.md",
    "content": "## Migrating from 3.x\n\n* No `component` support for scene containers (that contains children `Scene`) - you have to use custom navigators (`navigator` prop) and possibly `contentComponent` (scenes cannot have both 'component' and 'children')\n* No `duration`/`panHandlers` support - you have to implement custom navigator now instead and pass it as ‘navigator’ prop\nhttps://reactnavigation.org/docs/navigators/custom. You could still pass `panHandlers={null}` to disable gestures or `gesturedEnabled={false}`\n* No support for partial hiding of tab bar for some tabs because of react navigation bug (react navigation issue):\nhttps://github.com/react-community/react-navigation/issues/1584\n* No possibility to skip animation during reset/replace (react navigation issue):\nhttps://github.com/react-community/react-navigation/issues/1493\n* `Switch` is removed - you may use onEnter/onExit handlers for more flexible logic.\n* Drawer syntax was changed (boolean `drawer` attribute + `contentComponent` for side menu component + `Actions.drawerOpen`/`Actions.drawerClose` to open/close drawer) \n* Modal is 'lightbox' attribute for parent Scene now (used for popups, like Error)\n* If you have modal animation `modal` for Scene is not working, define separate Scene container with `modal` and put all your modals there, check Example project for details\n* No `direction` attribute is supported for custom transitions. For vertical transition add `modal` to parent `Scene`.\n* tabBarSelectedItemStyle is not supported. Instead please use React Navigation TabBar params for tabs Scene: `activeTintColor`, `inactiveTintColor`, etc (https://reactnavigation.org/docs/navigators/tab)\n* To make multiple pops you could use `Actions.popTo(sceneName)` where sceneName is name of scene you want to see (it should be not container, i.e. scene with `component`)\n* No longer exports DefaultRenderer\n* Possible other stuff...\n\nCheck Example project for this repository\n"
  },
  {
    "path": "docs/_config.yml",
    "content": "theme: jekyll-theme-minimal\ntitle: React Native Router\ndescription: Simple, minimal routing for React Native\n"
  },
  {
    "path": "docs/_layouts/default.html",
    "content": "<!doctype html>\n<html lang=\"{{ site.lang | default: \"en-US\" }}\">\n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"chrome=1\">\n    <title>{{ site.title | default: site.github.repository_name }} by {{ site.github.owner_name }}</title>\n\n    <link rel=\"stylesheet\" href=\"{{ '/assets/css/style.css?v=' | append: site.github.build_revision | relative_url }}\">\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <!--[if lt IE 9]>\n    <script src=\"//html5shiv.googlecode.com/svn/trunk/html5.js\"></script>\n    <![endif]-->\n  </head>\n  <body>\n    <div class=\"wrapper\">\n      <header>\n        <h1>{{ site.title | default: site.github.repository_name }}</h1>\n        <p>{{ site.description | default: site.github.project_tagline }}</p>\n\n        {% if site.github.is_project_page %}\n          <p class=\"view\"><a href=\"{{ site.github.repository_url }}\">View the Project on GitHub <small>{{ github_name }}</small></a></p>\n        {% endif %}\n\n        {% if site.github.is_user_page %}\n          <p class=\"view\"><a href=\"{{ site.github.owner_url }}\">View My GitHub Profile</a></p>\n        {% endif %}\n\n        {% if site.show_downloads %}\n          <ul>\n            <li><a href=\"{{ site.github.zip_url }}\">Download <strong>ZIP File</strong></a></li>\n            <li><a href=\"{{ site.github.tar_url }}\">Download <strong>TAR Ball</strong></a></li>\n            <li><a href=\"{{ site.github.repository_url }}\">View On <strong>GitHub</strong></a></li>\n          </ul>\n        {% endif %}\n      </header>\n      <section>\n\n      {{ content }}\n\n      </section>\n      <footer>\n        {% if site.github.is_project_page %}\n        <p>This project is maintained by <a href=\"{{ site.github.owner_url }}\">{{ site.github.owner_name }}</a></p>\n        {% endif %}\n        <p><small>Hosted on GitHub Pages &mdash; Theme by <a href=\"https://github.com/orderedlist\">orderedlist</a></small></p>\n      </footer>\n    </div>\n    <script src=\"{{ '/assets/js/scale.fix.js' | relative_url }}\"></script>\n\n\n  {% if site.google_analytics %}\n    <script>\n    ;(function(i, s, o, g, r, a, m) {\n  i[\"GoogleAnalyticsObject\"] = r\n  ;(i[r] =\n    i[r] ||\n    function() {\n      ;(i[r].q = i[r].q || []).push(arguments)\n    }), (i[r].l = 1 * new Date())\n  ;(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0])\n  a.async = 1\n  a.src = g\n  m.parentNode.insertBefore(a, m)\n})(\n  window,\n  document,\n  \"script\",\n  \"https://www.google-analytics.com/analytics.js\",\n  \"ga\"\n)\n\nga(\"create\", \"{{ site.google_analytics }}\", \"auto\")\nga(\"send\", \"pageview\")\n</script>\n  {% endif %}\n  </body>\n</html>\n"
  },
  {
    "path": "docs/assets/css/style.scss",
    "content": "---\n---\n\n@import \"{{ site.theme }}\";\n"
  },
  {
    "path": "docs/index.md",
    "content": "# Simple React Native Routing\n\n#### WARNING: react-native-router-flux v4 is in beta. Go [here](https://github.com/aksonov/react-native-router-flux/tree/3.39.1) for v3.\n\n___\n\nDefine all your routes in one place...\n\n```js\nclass App extends React.Component {\n  render() {\n    return (\n      <Router>\n        <Scene key=\"root\">\n          <Scene key=\"login\" component={Login} title=\"Login\"/>\n          <Scene key=\"register\" component={Register} title=\"Register\"/>\n          <Scene key=\"home\" component={Home}/>\n        </Scene>\n      </Router>\n    );\n  }\n}\n```\n\n...and navigate from scene to scene with a simple, powerful API\n\n```js\n// login.js\n\n// navigate to 'home' as defined in your top-level router\nActions.home(PARAMS)\n\n// go back (i.e. pop the current screen off the nav stack)\nActions.pop()\n\n// refresh the current Scene with the specified props\nActions.refresh({param1: 'hello', param2: 'world'})\n```\n\n\n## Try the example app\n\n![rnrf](https://user-images.githubusercontent.com/3681859/27937441-ef61d932-626b-11e7-885f-1db7dc74b32e.gif)\n\n```bash\n# Get the code\ngit clone git@github.com:aksonov/react-native-router-flux.git`\ncd react-native-router-flux/Example\n\n# Install dependencies\nyarn\n\n# Run it\nreact-native run-ios\n```\n\n## v4 Features\n* Based on latest [React Navigation](https://reactnavigation.org) API\n* Separate navigation logic from presentation. You may change now navigation state directly from your business logic code - stores/reducers/etc. navigationStore\n* Built-in state machine (former Switch replacement) - each ‘scene’ has onEnter/onExit handlers.\nMobX-powered, all used scenes are wrapped as 'observer' automatically. You may subscribe to navigationStore (former Actions), observe current navigation state, etc. If you are using Redux, skip this.\n* Flexible nav bar customization, that is not allowed by react navigation right now:\nhttps://github.com/react-community/react-navigation/issues/779\n* Drawer support (react\n* 'Lightbox' support (used by popups like Error alert within Example project)\n\n## Breaking changes (compared to v3):\n* No duration/panHandlers support - you have to implement custom navigator now instead and pass it as ‘navigator’ prop:\nhttps://reactnavigation.org/docs/navigators/custom\n* No support for partial hiding of tab bar for some tabs because of react navigation bug:\nhttps://github.com/react-community/react-navigation/issues/1584\n* No possibility to skip animation during reset/replace:\nhttps://github.com/react-community/react-navigation/issues/1493\n* `Switch` is removed - you may use onEnter/onExit handlers for more flexible logic.\n* `getSceneStyle` is removed (no needed in v4).\n* Custom reducer (`createReducer` prop for Router) - Redux actions now are passed from React Navigation (‘Navigation/BACK’, ‘Navigation/NAVIGATE’, etc.)\n* Drawer is 'drawer' attribute Scene\n* Modal is 'modal' attribute for Scene\n* No flux 'focus' actions - use onEnter/onExit handlers instead.\n* Possible other stuff.\n\n## Migrating from v3\nComing soon\n"
  },
  {
    "path": "docs/v3/API_CONFIGURATION.md",
    "content": "# API and Configuration\n\n## Available imports\n- `Router`\n- `Scene`\n- `Modal`\n- `TabBar`\n- `getInitialState`\n- `Reducer`\n- `DefaultRenderer`\n- `Switch`\n- `Actions`\n- `ActionConst`\n- `NavBar`\n\n## Router:\n| Property | Type | Default | Description |\n|---------------|----------|--------------|----------------------------------------------------------------|\n| reducer | `function` | | optional user-defined reducer for scenes, you may want to use it to intercept all actions and put your custom logic |\n| createReducer | `function` | | function that returns a reducer function for {initialState, scenes} param, you may wrap Reducer(param) with your custom reducer, check Flux usage section below|\n| other props | | | all properties that will be passed to all your scenes |\n| children | | required (if no scenes property passed)| Scene root element |\n| scenes | `object` | optional | scenes for Router created with Actions.create. This will allow to create all actions BEFORE React processing. If you don't need it you may pass Scene root element as children |\n| getSceneStyle | `function` | optional | Optionally override the styles for NavigationCard's Animated.View rendering the scene. |\n| backAndroidHandler | `function` | optional | Optionally override the handler for `BackAndroid`, return `true` to stay in the app or return `false` to exit the app. Default handler will pop a scene and exit the app at last when the back key is pressed on Android. |\n| onBackAndroid | `function` | optional | Get called after back key is pressed and a scene is popped, won't affect the default behavior. |\n| onExitApp | `function` | optional | Optionally override the default action after back key is pressed on root scene. Return `true` to stay, or return `false` to exit the app. |\n\n## Scene:\n\n| Property | Type | Default | Description |\n|-----------|--------|---------|--------------------------------------------|\n| key | `string` | required | Will be used to call screen transition, for example, `Actions.name(params)`. Must be unique. |\n| component | `React.Component` | semi-required | The `Component` to be displayed. Not required when defining a nested `Scene`, see example. If it is defined for 'container' scene, it will be used as custom container `renderer` |\n| initial | `bool` | false | Set to `true` if this is the initial scene |\n| type | `string` | `ActionConst.PUSH` or `ActionConst.JUMP` | Defines how the new screen is added to the navigator stack. One of `ActionConst.PUSH`, `ActionConst.JUMP`, `ActionConst.REPLACE`, `ActionConst.RESET`. If parent container is tabbar (tabs=true), `ActionConst.JUMP` will be automatically set.\n| clone | `bool` | | Scenes marked with `clone` will be treated as templates and cloned into the current scene's parent when pushed. See example. |\n| passProps | `bool` | false | Pass all own props (except style, key, name, component, tabs) to children. Note that passProps is also passed to children. |\n\n## ActionConst:\n\nWe accept shorthand string literal when defining scene type or action params, like:\n\n```javascript\nActions.ROUTE_NAME({type: 'reset'});\n<Scene key=\"myscene\" type=\"replace\" >\n```\n\nbut it will be converted to const value when pass to reducer.\nRECOMMENDATION is to always use const instead of string literal for consistency:\n\n```javascript\nActions.ROUTE_NAME({type: ActionConst.RESET});\n<Scene key=\"myscene\" type={ActionConst.REPLACE} >\n```\n\n| Property | Type | Value | Shorthand |\n|-----------|--------|---------|-----------------------------------------|\n| ActionConst.JUMP | `string` | 'REACT_NATIVE_ROUTER_FLUX_JUMP' | 'jump' |\n| ActionConst.PUSH | `string` | 'REACT_NATIVE_ROUTER_FLUX_PUSH' | 'push' |\n| ActionConst.REPLACE | `string` | 'REACT_NATIVE_ROUTER_FLUX_REPLACE' | 'replace' |\n| ActionConst.BACK | `string` | 'REACT_NATIVE_ROUTER_FLUX_BACK' | 'back' |\n| ActionConst.BACK_ACTION | `string` | 'REACT_NATIVE_ROUTER_FLUX_BACK_ACTION' | 'BackAction' |\n| ActionConst.POP_AND_REPLACE | `string` | 'REACT_NATIVE_ROUTER_FLUX_POP_AND_REPLACE' | 'popAndReplace' |\n| ActionConst.POP_TO | `string` | 'REACT_NATIVE_ROUTER_FLUX_POP_TO' | 'popTo' |\n| ActionConst.REFRESH | `string` | 'REACT_NATIVE_ROUTER_FLUX_REFRESH' | 'refresh' |\n| ActionConst.RESET | `string` | 'REACT_NATIVE_ROUTER_FLUX_RESET' | 'reset' |\n| ActionConst.FOCUS | `string` | 'REACT_NATIVE_ROUTER_FLUX_FOCUS' | 'focus' |\n\n### ActionConst and Scene.type explaination\n\n**ActionConst**\n\nare just a bunch of constants represent real values of various actions/scene.type to avoid future changes.\nyou can treat it like redux action.\n\nThese can be used directly, for example, Actions.pop() will dispatch correspond action written in the source code, or, you can set those constants in scene type, when you do Actions.main(), it will dispatch action according to your scene type or the default one.\n\nNot every ActionConst can be used the same way ( use as an action or whether it can be set in scene type or not)\nthat's why it's just a bunch of constants to mask the actual values.\n\n**Scene.type**\n\nDefines how the new screen is added to the navigator stack. One of push, modal, actionSheet, replace, switch, reset transitionToTop. Default is 'push'.\nAnd every `Scene.type` string literal has a mapped constant in ActionConst, it is recommended to always use constant.\n\n`replace`: tells navigator to replace current route with new route.  \n`actionSheet`: shows Action Sheet popup, you must pass callback as callback function.  \n`modal`: type inserts its 'component' into route stack after navigator component. It could be used for popup alerts as well for various needed processes before any navigator transitions (like login auth process). it could be dismissed by using Actions.dismiss().   \n`switch`: is used for tab screens.  \n`reset`: is similar to `replace` except it unmounts the components in the navigator stack.  \n`transitionToTop`: will reset router stack ['route.name'] and with animation, if route has sceneConfig. eg `<Route name=\"login\" schema=\"modal\" component={Login} type=\"transitionToTop\" />`\n\n\n### Animation\n| Property | Type | Default | Description |\n|-----------|--------|---------|--------------------------------------------|\n| duration | `number` | | optional. acts as a shortcut to writing an `applyAnimation` function with `Animated.timing` for a given duration (in ms). |\n| direction | `string` | 'horizontal' | direction of animation horizontal/vertical/leftToRight/topToBottom ('horizontal' will be right to left & 'vertical' will be bottom to top)|\n| animation | `string` | | animation options when transitioning: 'fade' currently only option |\n| animationStyle | `function` | | optional interpolation function for scene transitions: `animationStyle={interpolationFunction}` |\n| applyAnimation | `function` | | optional if provided overrides the default spring animation |\n\n### Gestures\n| Property | Type | Default | Description |\n|-----------|--------|---------|--------------------------------------------|\n| panHandlers | `object` | | optional, provide null to disable swipe back gesture |\n| getPanHandlers | `function` | optional | Optionally override the gesture handlers for scene |\n\n### Scene styles\n| Property | Type | Default | Description |\n|-----------|--------|---------|--------------------------------------------|\n| sceneStyle | [`View style`](https://facebook.github.io/react-native/docs/view.html#style) | { flex: 1 } | optional style override for the Scene's component |\n| getSceneStyle | `function` | optional | Optionally override the styles for NavigationCard's Animated.View rendering the scene.  Receives first argument of `NavigationSceneRendererProps` and second argument of `{hideNavBar,hideTabBar,isActive}` (see Example app). |\n\n### Tabs\n| Property | Type | Default | Description |\n|-----------|--------|---------|--------------------------------------------|\n| tabs| `bool` | false | Defines 'TabBar' scene container, so child scenes will be displayed as 'tabs'. If no `component` is defined, built-in `TabBar` is used as renderer. All child scenes are wrapped into own navbar.\n| tabBarStyle | [`View style`](https://facebook.github.io/react-native/docs/view.html#style) |  | optional style override for the Tabs component |\n| tabBarBackgroundImage | [`Image source`](https://facebook.github.io/react-native/docs/image.html#source) |  | optional background image for the Tabs component |\n| tabBarIconContainerStyle | [`View style`](https://facebook.github.io/react-native/docs/view.html#style) |  | optional style override for the View that contains each tab icon |\n| hideTabBar | `bool` | false | hides tab bar for this scene and any following scenes until explicitly reversed (if built-in TabBar component is used as parent renderer)|\n| hideOnChildTabs | `bool` | false | hides tab bar when another `tabs` scene is added to the navigation stack. |\n| pressOpacity | `number` | 0.2 | the opacity when clicking on the tab |\n\n\n### Navigation Bar\n| Property | Type | Default | Description |\n|-----------|--------|---------|--------------------------------------------|\n| hideNavBar | `bool` | false | hides the navigation bar for this scene and any following scenes until explicitly reversed |\n| navigationBarStyle | [`View style`](https://facebook.github.io/react-native/docs/view.html#style) |  | optional style override for the navigation bar |\n| navigationBarBackgroundImage | [`Image source`](https://facebook.github.io/react-native/docs/image.html#source) |  | optional background image for the navigation bar |\n| navigationBarBackgroundImageStyle | [`Image style`](https://facebook.github.io/react-native/docs/image.html#style) |  | optional style override for the navigation bar background image |\n| navigationBarTitleImage | [`Image source`](https://facebook.github.io/react-native/docs/image.html#source) |  | optional image instead of text title for the navigation bar |\n| navigationBarTitleImageStyle | [`Image style`](https://facebook.github.io/react-native/docs/image.html#style) |  | optional style override for the navigation bar title image |\n| navigationBarShowImageSelection | `bool` | false | hides the selection line inside navigation bar when using navigationBarTitleImage |\n| navigationBarSelecionStyle | [`View style`](https://facebook.github.io/react-native/docs/view.html#style) |  | optional style to add a selection line below navigationBarTitleImage |\n| navBar | `React.Component` | | optional custom NavBar for the scene. Check built-in NavBar of the component for reference |\n| drawerImage | [`Image source`](https://facebook.github.io/react-native/docs/image.html#source) | `require('./menu_burger.png')` | Simple way to override the drawerImage in the navBar |\n\n#### Navigation Bar: Title\n| Property | Type | Default | Description |\n|-----------|--------|---------|--------------------------------------------|\n| title | `string` | null | The title to be displayed in the navigation bar |\n| getTitle | `function` | optional | Optionally closure to return a value of the title based on state |\n| renderTitle | `function` | optional | Optionally closure to render the title |\n| titleStyle | [`Text style`](https://facebook.github.io/react-native/docs/text.html#style) |  | optional style override for the title element |\n| titleWrapperStyle | [`View style`](https://facebook.github.io/react-native/docs/view.html#style) |  | optional style override for the title wrapper |\n| titleOpacity | `string` | optional | Set opacity for the title in navigation bar |\n| titleProps | `object` | null | Any other properties to be set on the title component |\n\n#### Navigation Bar: Back button\n| Property | Type | Default | Description |\n|-----------|--------|---------|--------------------------------------------|\n| backTitle | `string` | | optional string to display with back button |\n| renderBackButton | `function` | | optional closure to render back text or button if this route happens to be the previous route |\n| backButtonImage | [`Image source`](https://facebook.github.io/react-native/docs/image.html#source) | `require('./back_chevron.png')` | Simple way to override the back button in the navBar |\n| backButtonTextStyle | [`Text style`](https://facebook.github.io/react-native/docs/text.html#style) | | optional style override for the back title element |\n| hideBackImage | `boolean` | false | no default back button image will be displayed |\n| onBack | `function` | Actions.pop | actions for back button |\n\n#### Navigation Bar: Left button\n| Property | Type | Default | Description |\n|-----------|--------|---------|--------------------------------------------|\n| leftTitle | `string` | | optional string to display on the left if the previous route does not provide `renderBackButton` prop. `renderBackButton` > `leftTitle` > <previous route's `title`> |\n| getLeftTitle | `function` | | optional closure to display on the left if the previous route does not provide `renderBackButton` prop. `renderBackButton` > `getLeftTitle` > <previous route's `title`> |\n| renderLeftButton | `function` | | optional closure to render the left title / buttons element |\n| onLeft | `function` | | function will be called when left navBar button is pressed |\n| leftButtonImage | [`Image source`](https://facebook.github.io/react-native/docs/image.html#source) |  | Image for left button |\n| leftButtonIconStyle | [`View style`](https://facebook.github.io/react-native/docs/view.html#style) |  | Image style for left button |\n| leftButtonStyle | [`View style`](https://facebook.github.io/react-native/docs/view.html#style) | | optional style override for the container of left title / buttons |\n| leftButtonTextStyle | [`Text style`](https://facebook.github.io/react-native/docs/text.html#style) | | optional style override for the left title element |\n\n#### Navigation Bar: Right button\n| Property | Type | Default | Description |\n|-----------|--------|---------|--------------------------------------------|\n| rightTitle | `string` | | optional string to display on the right. `onRight` must be provided for this to appear. |\n| getRightTitle | `function` | | optional closure to display on the right. `onRight` must be provided for this to appear. |\n| renderRightButton | `function` | | optional closure to render the right title / buttons element |\n| onRight | `function` | | function will be called when right navBar button is pressed |\n| rightButtonImage | [`Image source`](https://facebook.github.io/react-native/docs/image.html#source) |  | Image for right button |\n| rightButtonIconStyle | [`View style`](https://facebook.github.io/react-native/docs/view.html#style) |  | Image style for right button |\n| rightButtonStyle | [`View style`](https://facebook.github.io/react-native/docs/view.html#style) | | optional style override for the container of right title / buttons |\n| rightButtonTextStyle | [`Text style`](https://facebook.github.io/react-native/docs/text.html#style) | | optional style override for the right title element |\n| **...other props** | | | all properties that will be passed to your component instance |\n"
  },
  {
    "path": "docs/v3/DETAILED_EXAMPLE.md",
    "content": "## Detailed Example\n\nfor latest example code, please see [Example](https://github.com/aksonov/react-native-router-flux/blob/master/Example/Example.js)\n\n![launch](https://cloud.githubusercontent.com/assets/1321329/11692367/7337cfe2-9e9f-11e5-8515-e8b7a9f230ec.gif)\n\n```jsx\nimport React, {AppRegistry, Navigator, StyleSheet, Text, View} from 'react-native'\nimport Launch from './components/Launch'\nimport Register from './components/Register'\nimport Login from './components/Login'\nimport Login2 from './components/Login2'\nimport { Scene, Router, TabBar, Modal, Schema, Actions, Reducer, ActionConst } from 'react-native-router-flux'\nimport Error from './components/Error'\nimport Home from './components/Home'\nimport TabView from './components/TabView'\n\nclass TabIcon extends React.Component {\n    render(){\n        return (\n            <Text style={{color: this.props.selected ? 'red' :'black'}}>{this.props.title}</Text>\n        );\n    }\n}\n\nconst reducerCreate = params=>{\n    const defaultReducer = Reducer(params);\n    return (state, action)=>{\n        console.log(\"ACTION:\", action);\n        return defaultReducer(state, action);\n    }\n};\n\nexport default class Example extends React.Component {\n    render() {\n        return <Router createReducer={reducerCreate} sceneStyle={{backgroundColor:'#F7F7F7'}}>\n            <Scene key=\"modal\" component={Modal} >\n                <Scene key=\"root\" hideNavBar={true}>\n                    <Scene key=\"register\" component={Register} title=\"Register\"/>\n                    <Scene key=\"register2\" component={Register} title=\"Register2\" duration={1}/>\n                    <Scene key=\"home\" component={Home} title=\"Replace\" type={ActionConst.REPLACE}/>\n                    <Scene key=\"launch\" component={Launch} title=\"Launch\" initial={true} style={{flex:1, backgroundColor:'transparent'}}/>\n                    <Scene key=\"login\" direction=\"vertical\">\n                        <Scene key=\"loginModal\" component={Login} schema=\"modal\" title=\"Login\"/>\n                        <Scene key=\"loginModal2\" hideNavBar={true} component={Login2} title=\"Login2\"/>\n                    </Scene>\n                    <Scene key=\"tabbar\" tabs={true} >\n                        <Scene key=\"tab1\"  title=\"Tab #1\" icon={TabIcon} navigationBarStyle={{backgroundColor:'red'}} titleStyle={{color:'white'}}>\n                            <Scene key=\"tab1_1\" component={TabView} title=\"Tab #1_1\" onRight={()=>alert(\"Right button\")} rightTitle=\"Right\" />\n                            <Scene key=\"tab1_2\" component={TabView} title=\"Tab #1_2\" titleStyle={{color:'black'}}/>\n                        </Scene>\n                        <Scene key=\"tab2\" initial={true} title=\"Tab #2\" icon={TabIcon}>\n                            <Scene key=\"tab2_1\" component={TabView} title=\"Tab #2_1\" onLeft={()=>alert(\"Left button!\")} leftTitle=\"Left\"/>\n                            <Scene key=\"tab2_2\" component={TabView} title=\"Tab #2_2\"/>\n                        </Scene>\n                        <Scene key=\"tab3\" component={TabView} title=\"Tab #3\" hideTabBar={true} icon={TabIcon}/>\n                        <Scene key=\"tab4\" component={TabView} title=\"Tab #4\" hideNavBar={true} icon={TabIcon}/>\n                        <Scene key=\"tab5\" component={TabView} title=\"Tab #5\" icon={TabIcon} />\n                    </Scene>\n                </Scene>\n                <Scene key=\"error\" component={Error}/>\n            </Scene>\n        </Router>;\n    }\n}\n\n```\n\ncomponents/Launch.js (initial screen)\n\n```jsx\nimport React, {View, Text, StyleSheet, TouchableHighlight} from 'react-native'\nimport Button from 'react-native-button'\nimport {Actions} from 'react-native-router-flux'\n\nclass Launch extends React.Component {\n    render(){\n        return (\n            <View style={styles.container}>\n                <Text>Launch page</Text>\n                <Button onPress={()=>Actions.login({data:\"Custom data\", title:'Custom title' })}>Go to Login page</Button>\n                <Button onPress={Actions.register}>Go to Register page</Button>\n                <Button onPress={Actions.register2}>Go to Register page without animation</Button>\n                <Button onPress={Actions.error('error message')}>Show error popup</Button>\n                <Button onPress={Actions.tabbar}>Go to TabBar page</Button>\n            </View>\n        );\n    }\n}\n\nvar styles = StyleSheet.create({\n    container: {\n        flex: 1,\n        justifyContent: 'center',\n        alignItems: 'center',\n        backgroundColor: 'transparent',\n    }\n});\n\nmodule.exports = Launch;\n```\n"
  },
  {
    "path": "docs/v3/MIGRATION.md",
    "content": "# Migrating from 2.x\n\n## Breaking changes comparing with 2.x version:\n- React Native 0.26 is required\n- `Router` is root container now and should not be nested. For nested scenes you should use `Scene` element\n- `Route` became `Scene`, now unique `key` attribute is required for each scene (it was `name` attribute before)\n- Define all your scenes on top-level, not within `Router` as before (see Example)\n- No `Schema` element is supported for now (for simplicity), maybe later it could be added\n- No ActionSheet support\n- Custom scene renderers are used instead of 'custom' types (like 'modal'), so 'modal' scenes are pushed as usual, but custom renderer will render them as popup. No `dismiss`, just usual `pop` to close such popups.\n- No old navigator.sceneConfig support (instead the component uses React Native NavigationAnimatedView for better transitions)\n- No onPush/onPop/etc handlers because they are not needed now. If navigation state is changed, container will be re-rendered with changed navigationState property, see `Modal` as Example.\n- No header/footer properties are supported for Scene currently - you may include them into Scene component.\n"
  },
  {
    "path": "docs/v3/MINI_TUTORIAL.md",
    "content": "# Mini-Tutorial\n\n![super_simple.gif](super_simple.gif)\n\nIn this super simple example, we will just have three files:\n\n1. Your root index file: `index.js`\n2. The first page that is loaded automatically: `PageOne.js`\n3. A second page you can navigate to: `PageTwo.js`\n\n### index.js\n```jsx\nimport React, { Component } from 'react';\nimport { Router, Scene } from 'react-native-router-flux';\n\nimport PageOne from './PageOne';\nimport PageTwo from './PageTwo';\n\nexport default class App extends Component {\n  render() {\n    return (\n      <Router>\n        <Scene key=\"root\">\n          <Scene key=\"pageOne\" component={PageOne} title=\"PageOne\" initial={true} />\n          <Scene key=\"pageTwo\" component={PageTwo} title=\"PageTwo\" />\n        </Scene>\n      </Router>\n    )\n  }\n}\n```\n\nIn `react-native-router-flux`, each route (or page) is called a `<Scene>`. Conventionally, your Scenes should be wrapped inside a root Scene before being finally wrapped inside a `<Router>` component that is returned in the `render()` function.\n\nAt the very minimum, each `<Scene>` component should have the following props:\n\n- **key**: A unique string that can be used to refer to the particular scene.\n- **component**: The component to be rendered for that `Scene` or page.\n- **title**: The string to be displayed in the nav bar at the top of the screen.\n\nNote that the first scene we wish to load has the prop `initial={true}` to indicate that it's the scene that should be initially rendered.\n\n## From Page to Page\n\n### PageOne.js\n```jsx\nimport React, { Component } from 'react';\nimport { View, Text } from 'react-native';\nimport { Actions } from 'react-native-router-flux';\n\nexport default class PageOne extends Component {\n  render() {\n    return (\n      <View style={{margin: 128}}>\n        <Text onPress={Actions.pageTwo}>This is PageOne!</Text>\n      </View>\n    )\n  }\n}\n```\n\nTo navigate from one route to another, an `Action` must be called. This takes the form of:\n\n```\nActions.SCENE_KEY(PARAMS)\n```\n\nWhere `SCENE_KEY` must match the `key` prop defined in one of the Scenes of the `Router` component in the root file. And `PARAMS` refers to a javascript object that will be passed into the resulting scene as props (more on this later).\n\nSince the PageTwo component has the key of `pageTwo`, all we need to do is to pass in the function `Actions.pageTwo` into the `<Text>` component so that it executes the page transition when the text is pressed.\n\n## Passing Information\n\nNow let's try to extend our example so that we can pass data from `PageOne` to `PageTwo`.\n\nIn `PageOne.js`, instead of simply passing in `Actions.pageTwo`, we can replace it with `Actions.pageTwo({text: 'Hello World!'})`. In this case, we need to wrap the Action call inside a function to prevent it from executing when this component is rendered. As a result, the render function inside `PageOne.js` should look like this:\n\n```jsx\nrender() {\n  const goToPageTwo = () => Actions.pageTwo({text: 'Hello World!'}); \n  return (\n    <View style={{margin: 128}}>\n      <Text onPress={goToPageTwo}>This is PageOne!</Text>\n    </View>\n  )\n}\n```\n\nAnd in `PageTwo.js`, we can use the data being passed in by adding an additional `<Text>` component below the existing one like so:\n\n```jsx\nrender() {\n  return (\n    <View style={{margin: 128}}>\n      <Text>This is PageTwo!</Text>\n      <Text>{this.props.text}</Text>\n    </View>\n  )\n}\n```\n\nNow, if we navigate to the PageTwo Scene as before, we should see:\n\n```\nThis is PageTwo!\nHello World!\n```\n\n## Going Forward (or backwards?)\n\nThat pretty much concludes this mini-tutorial, we've covered most of the basics here. There are a lot of things you can do to customize `react-native-router-flux`, this is only the beginning.\n\nFor example, you may want to programmatically go back to the previous Scene. The included navbar already allows you to do this by pressing on the arrow icon at the upper left corner. But you can also call this function at any point in your app for the same effect:\n\n```js\nActions.pop()\n```\n\nAnd should you ever want to refresh the same Scene with new props, you can use:\n\n```js\nActions.refresh(PARAMS)\n```\n\nDon't be afraid to explore the docs, you'll be surprised at how much you're able to customize with `react-native-router-flux`!\n"
  },
  {
    "path": "docs/v3/OTHER_INFO.md",
    "content": "# Other Info\n\nThis is a place for information that needs to be documented, but aren't long enough to warrant their own file yet.\n\n- Modals\n- Tabbar\n- Custom navbar\n- Switch\n- Splitting Scenes\n- Drawer (side-menu)\n- Sub-Scenes\n\n## Modals\nTo display a modal use `Modal` as root renderer, so it will render the first element as `normal` scene and all others as popups (when they are pushed).\nFor example:\n```jsx\nimport StatusModal from './components/StatusModal'\n\n<Router>\n  <Scene key=\"modal\" component={Modal} >\n    <Scene key=\"root\">\n      <Scene key=\"screen1\" initial={true} component={Screen1} />\n      <Scene key=\"screen2\" component={Screen2} />\n    </Scene>\n    <Scene key=\"statusModal\" component={StatusModal} />\n  </Scene>\n</Router>\n```\n\nThen in the StatusModal Component we can define what we want it to look like and what props can be passed to it:\n\n```jsx\nclass StatusModal extends Component {\n\n  constructor(props) {\n    super(props)\n    // set state with passed in props\n    this.state = {\n      message: props.error,\n      hide: props.hide,\n    }\n    // bind functions\n    this.dismissModal = this.dismissModal.bind(this)\n  }\n\n  dismissModal() {\n    this.setState({hide: true})\n  }\n\n  // show or hide Modal based on 'hide' prop\n  render() {\n    if(this.state.hide){\n      return (\n        <View>\n        </View>\n      )\n    } else {\n        return (\n          <TouchableHighlight style={styles.mainContainer} onPress={this.dismissModal}>\n            <Text style={styles.text}>{this.state.message}</Text>\n          </TouchableHighlight>\n        )\n      }\n  }\n}\n```\n\nLastly when calling the Modal pass the props defined in the component, for example an error message and a 'hide' prop of false to display the Modal:\n\n`Actions.statusModal({error: \"Network failed...\", hide: false})`\n\nWhen the Modal is pressed it will set hide to true and return an empty view.\n\n## TabBar\nEvery tab has its own navigation bar. However, if you do not set its parent `<Scene tabs={true} />` with `hideNavBar={true}`, the tabs' navigation bar will be overrided by their parent.\n\nCustomizing `TabBar`:\n\n```javascript\nlet style = StyleSheet.create({\n        tabBarStyle: {\n            borderTopWidth : .5,\n            borderColor    : '#b7b7b7',\n            backgroundColor: 'white',\n            opacity        : 1\n        }\n    });\n\n// in your render method\n<Scene key=\"myTabBar\" tabs={true} hideNavBar tabBarStyle={style.tabBarStyle}>\n</Scene>\n    \n```\n\nRefresh a particular `Scene` when a `Tab` is pressed:\n\n```javascript\n<Scene key=\"myTabBar\" tabs={true} hideNavBar tabBarStyle={style.tabBarStyle}>\n  <Scene \n    key=\"myTab\" \n    title=\"My Tab\" \n    icon={MyTabIcon} \n    onPress={()=> {\n      Actions.myTab_1({type: ActionConst.REFRESH});\n    }}\n   >\n      <Scene key=\"myTab_1\" component={MyTabComponent} hideNavBar/>\n  </Scene>\n</Scene>\n```\n\n\n## Custom nav bar for individual scene or even different state of scene (new feature):\nYour scene `component` class could implement _static_ renderNavigationBar(props) method that could return different navbar depending from component props\n\n## Switch (new feature)\nNew feature for 3.x release is custom scene renderer that should be used together with tabs={true} property. It allows to select `tab` scene to show depending from app state. Add the prop \"unmountScenes\" to your switch scene if the tabs should be unmounted when switched.\nIt could be useful for authentication, restricted scenes, etc. Usually you should wrap `Switch` with redux `connect` to pass application state to it:\nFollowing example chooses scene depending from sessionID using Redux:\n```jsx\n<Scene\n    key=\"root\"\n    component={connect(state=>({profile:state.profile}))(Switch)}\n    tabs={true}\n    unmountScenes\n    selector={props=>props.profile.sessionID ? \"main\" : \"signUp\"}\n    >\n    <Scene key=\"signUp\" component={SignUp}/>\n    <Scene key=\"main\" component={Main}>\n</Scene>\n```\n\n## Split your scenes to smaller parts if needed\nScenes concept is similar to iOS storyboard where you describe all your app screens in one place. However for some large apps, you may want to split it, like iOS app could have several iOS storyboards for different areas of the app.\nLuckily, you could easy split Scenes using NodeJS built-in require calls:\n```jsx\n            <Router>\n                    {require(\"./scenesForTabBar\")}\n                    {require(\"./scenesForAnotherPart\")}\n            </Router>\n```\n\nscenesForTabBar.js:\n```jsx\nimport React from 'react-native';\nimport {Scene} from 'react-native-router-flux';\n\nmodule.exports = <Scene key=\"tabbar\" tabs={true}>\n   // scenes here\n</Scene>;\n```\n\n## Drawer (side menu) integration\nExample of Drawer custom renderer based on react-native-drawer. Note that the built-in NavBar component supports toggling of drawer. The Drawer implementation just needs to have a function: toggle()\nWith DefaultRenderer you may build own drawer 'renderer' that transforms current navigation state into drawer. Drawer could check own state (open/close) from navigation state:\n\n```jsx\nimport React from 'react-native';\nimport Drawer from 'react-native-drawer';\nimport SideMenu from './SideMenu';\nimport {Actions, DefaultRenderer} from 'react-native-router-flux';\n\nexport default class NavigationDrawer extends Component {\n    render(){\n        const state = this.props.navigationState;\n        const children = state.children;\n        return (\n            <Drawer\n                ref=\"navigation\"\n                open={state.open}\n                onOpen={()=>Actions.refresh({key:state.key, open: true})}\n                onClose={()=>Actions.refresh({key:state.key, open: false})}\n                type=\"displace\"\n                content={<SideMenu />}\n                tapToClose={true}\n                openDrawerOffset={0.2}\n                panCloseMask={0.2}\n                negotiatePan={true}\n                tweenHandler={(ratio) => ({\n                 main: { opacity:Math.max(0.54,1-ratio) }\n            })}>\n                <DefaultRenderer navigationState={children[0]} onNavigate={this.props.onNavigate} />\n            </Drawer>\n        );\n    }\n}\n```\n```jsx\n// Where you want to put navigation drawer\nrender() {\n    return (\n        <Router\n            // then wrap your tabs scene with Drawer:\n            <Scene key=\"drawer\" component={NavigationDrawer} open={false} >\n                <Scene key=\"main\" tabs={true} >\n                ....\n            </Scene>\n        </Scene>\n    );\n}\n```\n```jsx\n// then you could open/hide/toggle drawer anywhere using 'refresh' modifiers:\nActions.refresh({key: 'drawer', open: value => !value });\n```\n## Sub-scenes support\nYou could create 'sub-scene' actions by putting them as children for needed 'base' scene without `component` prop and call such action anywhere - 'base' Scene will be updated accordingly.\nExample for 'My Account' screen with edit possibility (`MyAccount` component should call `Actions.editAccount()` to enable edit mode and process `save`, `editMode` properties accordingly - display edit controls, save data, etc.):\n\n```jsx\n<Scene key=\"myAccount\" component={MyAccount} title=\"My Account\">\n    <Scene key=\"viewAccount\" />\n    <Scene key=\"editAccount\" editMode rightTitle=\"Save\" onRight={()=>Actions.saveAccount()} leftTitle=\"Cancel\" onLeft={()=>Actions.viewAccount()} />\n    <Scene key=\"saveAccount\" save />\n</Scene>\n```\nNote, that almost empty `viewAccount` sub-state here is needed to reset MyAccount to initial params defined for this scene (remove `save`, `editMode` and other properties from original state)\nSure it could be done using Redux, however it will require more coding and programmatic setting NavBar buttons using `refresh`.\n"
  },
  {
    "path": "docs/v3/REDUX_FLUX.md",
    "content": "# React Native MobX\n This component is the base for [react-native-mobx](https://github.com/aksonov/react-native-mobx) that provides replacement for Redux/Flux without any boilerplate using [MobX](https://mobxjs.github.io/mobx/).\n\n# React Native Reactive\n [react-native-reactive](https://github.com/aksonov/react-native-reactive) is another reactive alternative with [usage of Calmm-JS](https://github.com/calmm-js/documentation)\n\n# Redux/Flux\nThis component doesn't depend on any redux/flux library. It uses new React Native Navigation API and provide own reducer for its navigation state.\nYou may provide your own reducer if needed. To avoid the creation of initial state, you may pass a reducer creator.\nAlso all actions will pass themselves to Redux dispatch method if it is passed (i.e. if Router is `connect`ed with Redux)\n\nThe following example will dispatch the `focus` action when a new scene comes into focus. The current scene will be available to components via the `props.scene` property.\n\n### Step 1\n\nFirst create a reducer for the routing actions that will be dispatched by RNRF.\n\n```javascript\n// reducers/routes.js\n\nimport { ActionConst } from 'react-native-router-flux';\n\nconst initialState = {\n  scene: {},\n};\n\nexport default function reducer(state = initialState, action = {}) {\n  switch (action.type) {\n    // focus action is dispatched when a new screen comes into focus\n    case ActionConst.FOCUS:\n      return {\n        ...state,\n        scene: action.scene,\n      };\n\n    // ...other actions\n\n    default:\n      return state;\n  }\n}\n```\n\n### Step 2\n\nCombine this reducer with the rest of the reducers from your app.\n\n```javascript\n// reducers/index.js\n\nimport { combineReducers } from 'redux';\nimport routes from './routes';\n// ... other reducers\n\nexport default combineReducers({\n  routes,\n  // ... other reducers\n});\n\n```\n\n### Step 3\n\nCreate your store, wrap your routes with the redux `Provider` component and connect your Router.\n\n\n```jsx\n// app.js\n\nimport React, { Component } from 'react';\nimport { Router } from 'react-native-router-flux';\nimport { connect, Provider } from 'react-redux';\nimport { createStore, applyMiddleware, compose } from 'redux';\n\nconst RouterWithRedux = connect()(Router);\nimport reducers from './reducers';\n// other imports...\n\n// create store...\nconst middleware = [/* ...your middleware (i.e. thunk) */];\nconst store = compose(\n  applyMiddleware(...middleware)\n)(createStore)(reducers);\n\n\nclass App extends Component {\n  render () {\n    return (\n      <Provider store={store}>\n        <RouterWithRedux>\n            // your scenes here\n        </RouterWithRedux>\n      </Provider>\n    );\n  }\n}\n\nexport default App;\n```\n\n### Step 4\n\nNow you can access the current scene from any connected component.\n\n```jsx\n// components/MyComponent.js\nimport React, { Component, PropTypes } from 'react';\nimport { Text } from 'react-native';\nimport { connect } from 'react-redux';\n\nclass MyComponent extends Component {\n  static propTypes = {\n    routes: PropTypes.object,\n  };\n\n  render () {\n    return (\n      <Text>\n        The current scene is titled {this.props.routes.scene.title}.\n      </Text>\n    );\n  }\n}\n\nexport default connect(({routes}) => ({routes}))(MyComponent);\n```\n\n*Optional opportunity.* Getting access the routes from any component using Context.\n\n```jsx\n// components/MyComponent.js\nimport React, { PropTypes } from 'react';\nimport { Text, View } from 'react-native';\nimport Button from 'react-native-button'\n\nclass MyComponent extends React.Component {\n  static contextTypes = {\n    routes: PropTypes.object.isRequired,\n  };\n\n  render () {\n    const {routes} = this.context;\n\n    return (\n      <View>\n          <Button onPress={()=>routes.login({data:\"Custom data\", title:'Custom title' })}>Go to Login page</Button>\n          <Button onPress={routes.register}>Go to Register page</Button>\n          <Button onPress={routes.back}>Go back</Button>\n      </View>\n    );\n  }\n}\n\nexport default MyComponent;\n```\n\n### About `Key xxx is already defined`\n\nThere is no way to prevent `Router` re-render IF you wrap it under a `Provider` AND listen updates from `redux`.\nIt is a nature by design.\n\nthe point how to prevent this, is: **`Router` should render once and just once**\nit means:\n\nIf you didn't connect to redux at all, it works fine since your `Router` would not be triggered by any of updates from redux.\n\nAlso, you can `connect()` `Router` to `redux` to get a `dispatch()` method props but you can NOT listen to another props.\n\nThus, the architecture would be:\n\n```jsx\nimport {\n    Router,\n    Scene,\n    Actions,\n} from 'react-native-router-flux';\n\n\n// --- child component can connect and listen to props they want.\nconst myConnectedMainConponent = connect()(myMainConponent);\nconst myConnectedLoginConponent = connect()(myLoginConponent);\n\n// --- Create it via Actions.create(), or it will be re-created for each render of your Router\nconst scenes = Actions.create(\n    <Scene key=\"root\">\n        <Scene key=\"login\" component={myLoginConponent} />\n        <Scene key=\"main\" component={myMainConponent} />\n    </Scene>\n);\n\n// --- Create connected Router if you want dispatch() method.\n// --- Or you can just use vanilla Router\nconst myConnectedRouter = connect()(Router);\n\n// --- your exported main router\nexport default class MyExportedRouter extends React.Component {\n    constructor(props) {\n        super(props);\n    };\n\n    render() {\n        return (\n            <Provider store={store}>\n                <myConnectedRouter scenes={scenes} />\n            </Provider>\n        );\n    }\n}\n```\n\n**Point Taken:**\n\n1. `Router` should render once and just once ( connect to get dispatch method only or not connect at all )\n2. pre create scenes via Actions.create() and pass it into Router\n3. move your app main logic into one of the children of Router\n"
  },
  {
    "path": "examples/expo/.babelrc",
    "content": "{\n  \"presets\": [\"babel-preset-expo\"],\n  \"env\": {\n    \"development\": {\n      \"plugins\": [\"transform-react-jsx-source\"]\n    }\n  }\n}\n"
  },
  {
    "path": "examples/expo/.eslintrc",
    "content": "{\n  \"extends\": \"universe/native\"\n}\n"
  },
  {
    "path": "examples/expo/.gitignore",
    "content": "node_modules/**/*\n.expo/**/*\n"
  },
  {
    "path": "examples/expo/.prettierrc",
    "content": "{\n  \"printWidth\": 100,\n  \"tabWidth\": 2,\n  \"singleQuote\": true,\n  \"jsxBracketSameLine\": true,\n  \"trailingComma\": \"es5\"\n}\n"
  },
  {
    "path": "examples/expo/.watchmanconfig",
    "content": "{}\n"
  },
  {
    "path": "examples/expo/App.js",
    "content": "import React from 'react';\nimport { Platform, StatusBar, StyleSheet, View } from 'react-native';\nimport { AppLoading, Asset, Font, Icon } from 'expo';\nimport AppNavigator from './navigation/AppNavigator';\n\nexport default class App extends React.Component {\n  state = {\n    isLoadingComplete: false,\n  };\n\n  render() {\n    if (!this.state.isLoadingComplete && !this.props.skipLoadingScreen) {\n      return (\n        <AppLoading\n          startAsync={this._loadResourcesAsync}\n          onError={this._handleLoadingError}\n          onFinish={this._handleFinishLoading}\n        />\n      );\n    } else {\n      return (\n        <View style={styles.container}>\n          {Platform.OS === 'ios' && <StatusBar barStyle=\"default\" />}\n          <AppNavigator />\n        </View>\n      );\n    }\n  }\n\n  _loadResourcesAsync = async () => {\n    return Promise.all([\n      Asset.loadAsync([\n        require('./assets/images/robot-dev.png'),\n        require('./assets/images/robot-prod.png'),\n      ]),\n      Font.loadAsync({\n        // This is the font that we are using for our tab bar\n        ...Icon.Ionicons.font,\n        // We include SpaceMono because we use it in HomeScreen.js. Feel free\n        // to remove this if you are not using it in your app\n        'space-mono': require('./assets/fonts/SpaceMono-Regular.ttf'),\n      }),\n    ]);\n  };\n\n  _handleLoadingError = error => {\n    // In this case, you might want to report the error to your error\n    // reporting service, for example Sentry\n    console.warn(error);\n  };\n\n  _handleFinishLoading = () => {\n    this.setState({ isLoadingComplete: true });\n  };\n}\n\nconst styles = StyleSheet.create({\n  container: {\n    flex: 1,\n    backgroundColor: '#fff',\n  },\n});\n"
  },
  {
    "path": "examples/expo/__tests__/App-test.js",
    "content": "import 'react-native';\nimport React from 'react';\nimport renderer from 'react-test-renderer';\nimport NavigationTestUtils from 'react-navigation/NavigationTestUtils';\nimport App from '../App';\n\ndescribe('App snapshot', () => {\n  jest.useFakeTimers();\n  beforeEach(() => {\n    NavigationTestUtils.resetInternalState();\n  });\n\n  it('renders the loading screen', async () => {\n    const tree = renderer.create(<App />).toJSON();\n    expect(tree).toMatchSnapshot();\n  });\n\n  it('renders the root without loading screen', async () => {\n    const tree = renderer.create(<App skipLoadingScreen />).toJSON();\n    expect(tree).toMatchSnapshot();\n  });\n});\n"
  },
  {
    "path": "examples/expo/app.json",
    "content": "{\n  \"expo\": {\n    \"name\": \"ExpoExample\",\n    \"description\": \"A very interesting project.\",\n    \"slug\": \"ExpoExample\",\n    \"privacy\": \"public\",\n    \"sdkVersion\": \"30.0.0\",\n    \"platforms\": [\"ios\", \"android\"],\n    \"version\": \"1.0.0\",\n    \"orientation\": \"portrait\",\n    \"icon\": \"./assets/images/icon.png\",\n    \"splash\": {\n      \"image\": \"./assets/images/splash.png\",\n      \"resizeMode\": \"contain\",\n      \"backgroundColor\": \"#ffffff\"\n    },\n    \"updates\": {\n      \"fallbackToCacheTimeout\": 0\n    },\n    \"assetBundlePatterns\": [\n      \"**/*\"\n    ],\n    \"ios\": {\n      \"supportsTablet\": true\n    }\n  }\n}\n"
  },
  {
    "path": "examples/expo/components/DrawerContent.js",
    "content": "import React from 'react';\nimport PropTypes from 'prop-types';\nimport { StyleSheet, Text, View, ViewPropTypes } from 'react-native';\nimport Button from 'react-native-button';\nimport { Actions } from 'react-native-router-flux';\n\nconst styles = StyleSheet.create({\n  container: {\n    flex: 1,\n    justifyContent: 'center',\n    alignItems: 'center',\n    backgroundColor: 'transparent',\n    borderWidth: 2,\n    borderColor: 'red',\n  },\n});\n\nclass DrawerContent extends React.Component {\n  static propTypes = {\n    name: PropTypes.string,\n    sceneStyle: ViewPropTypes.style,\n    title: PropTypes.string,\n  };\n\n  static contextTypes = {\n    drawer: PropTypes.object,\n  };\n\n  render() {\n    return (\n      <View style={styles.container}>\n        <Button onPress={Actions.pop}>Back</Button>\n        <Button onPress={Actions.main_home}>Switch to Home</Button>\n        <Button onPress={Actions.main_links}>Switch to Links</Button>\n        <Button onPress={Actions.main_settings}>Switch to Settings</Button>\n      </View>\n    );\n  }\n}\n\nexport default DrawerContent;\n"
  },
  {
    "path": "examples/expo/components/MenuIcon.js",
    "content": "import React from 'react';\nimport { Icon } from 'expo';\n\nexport default class MenuIcon extends React.Component {\n  render() {\n    return <Icon.Ionicons name={isAndroid ? 'md-more' : 'ios-more'} size={32} />;\n  }\n}\n"
  },
  {
    "path": "examples/expo/components/StyledText.js",
    "content": "import React from 'react';\nimport { Text } from 'react-native';\n\nexport class MonoText extends React.Component {\n  render() {\n    return <Text {...this.props} style={[this.props.style, { fontFamily: 'space-mono' }]} />;\n  }\n}\n"
  },
  {
    "path": "examples/expo/components/TabBarIcon.js",
    "content": "import React from 'react';\nimport { Icon } from 'expo';\n\nimport Colors from '../constants/Colors';\n\nexport default class TabBarIcon extends React.Component {\n  render() {\n    return (\n      <Icon.Ionicons\n        name={this.props.name}\n        size={26}\n        style={{ marginBottom: -3 }}\n        color={this.props.focused ? Colors.tabIconSelected : Colors.tabIconDefault}\n      />\n    );\n  }\n}\n"
  },
  {
    "path": "examples/expo/components/__tests__/StyledText-test.js",
    "content": "import 'react-native';\nimport React from 'react';\nimport { MonoText } from '../StyledText';\nimport renderer from 'react-test-renderer';\n\nit('renders correctly', () => {\n  const tree = renderer.create(<MonoText>Snapshot test!</MonoText>).toJSON();\n\n  expect(tree).toMatchSnapshot();\n});\n"
  },
  {
    "path": "examples/expo/constants/Colors.js",
    "content": "const tintColor = '#2f95dc';\n\nexport default {\n  tintColor,\n  tabIconDefault: '#ccc',\n  tabIconSelected: tintColor,\n  tabBar: '#fefefe',\n  errorBackground: 'red',\n  errorText: '#fff',\n  warningBackground: '#EAEB5E',\n  warningText: '#666804',\n  noticeBackground: tintColor,\n  noticeText: '#fff',\n};\n"
  },
  {
    "path": "examples/expo/constants/Layout.js",
    "content": "import { Dimensions } from 'react-native';\n\nconst { width, height } = Dimensions.get('window');\n\nexport default {\n  window: {\n    width,\n    height,\n  },\n  isSmallDevice: width < 375,\n};\n"
  },
  {
    "path": "examples/expo/navigation/AppNavigator.js",
    "content": "import React from 'react';\nimport { Platform, StyleSheet, Text, View } from 'react-native';\nimport { StackViewStyleInterpolator } from 'react-navigation-stack';\nimport {\n  Scene,\n  Router,\n  Actions,\n  Reducer,\n  ActionConst,\n  Overlay,\n  Tabs,\n  Modal,\n  Drawer,\n  Stack,\n  Lightbox,\n} from 'react-native-router-flux';\nimport TabBarIcon from '../components/TabBarIcon';\nimport MenuIcon from '../components/MenuIcon';\nimport DrawerContent from '../components/DrawerContent';\nimport HomeScreen from '../screens/HomeScreen';\nimport LinksScreen from '../screens/LinksScreen';\nimport SettingsScreen from '../screens/SettingsScreen';\n\nconst styles = StyleSheet.create({\n  container: {\n    flex: 1,\n    backgroundColor: 'transparent',\n    justifyContent: 'center',\n    alignItems: 'center',\n  },\n  tabBarStyle: {\n    backgroundColor: '#eee',\n  },\n  tabBarSelectedItemStyle: {\n    backgroundColor: '#ddd',\n  },\n});\n\nconst reducerCreate = params => {\n  const defaultReducer = new Reducer(params);\n  return (state, action) => {\n    console.log('reducer: ACTION:', action);\n    return defaultReducer(state, action);\n  };\n};\n\nconst stateHandler = (prevState, newState, action) => {\n  console.log('onStateChange: ACTION:', action);\n};\n\nconst getSceneStyle = () => ({\n  backgroundColor: '#F5FCFF',\n  shadowOpacity: 1,\n  shadowRadius: 3,\n});\n\n// on Android, the URI prefix typically contains a host in addition to scheme\nconst prefix = Platform.OS === 'android' ? 'mychat://mychat/' : 'mychat://';\n\nconst transitionConfig = () => ({\n  screenInterpolator:\n    StackViewStyleInterpolator.forFadeFromBottomAndroid,\n});\n\nconst AppNavigator = () => (\n  <Router\n    createReducer={reducerCreate}\n    onStateChange={stateHandler}\n    getSceneStyle={getSceneStyle}\n    uriPrefix={prefix}>\n    <Overlay key=\"overlay\">\n      <Modal key=\"modal\" hideNavBar transitionConfig={transitionConfig}>\n        <Lightbox key=\"lightbox\">\n          <Stack key=\"root\" hideNavBar titleStyle={{ alignSelf: 'center' }}>\n\n            <Drawer\n              hideNavBar\n              key=\"drawer\"\n              onExit={() => {\n                console.log('Drawer closed');\n              }}\n              onEnter={() => {\n                console.log('Drawer opened');\n              }}\n              contentComponent={DrawerContent}\n              drawerIcon={MenuIcon}\n              drawerWidth={300}>\n              <Scene hideNavBar>\n                <Tabs\n                  key=\"tabbar\"\n                  backToInitial\n                  onTabOnPress={() => {\n                    console.log('Back to initial and also print this');\n                  }}\n                  swipeEnabled\n                  tabBarStyle={styles.tabBarStyle}\n                  activeBackgroundColor=\"white\"\n                  inactiveBackgroundColor=\"rgba(255, 0, 0, 0.5)\">\n                  <Scene\n                    key=\"main_home\"\n                    component={HomeScreen}\n                    title=\"Home\"\n                    tabBarLabel=\"Home\"\n                    icon={TabBarIcon}\n                  />\n                  <Scene\n                    key=\"main_links\"\n                    component={LinksScreen}\n                    title=\"Links\"\n                    tabBarLabel=\"Links\"\n                    icon={TabBarIcon}\n                  />\n                  <Scene\n                    key=\"main_settings\"\n                    component={SettingsScreen}\n                    title=\"Settings\"\n                    tabBarLabel=\"Settings\"\n                    icon={TabBarIcon}\n                  />\n                </Tabs>\n              </Scene>\n            </Drawer>\n          </Stack>\n        </Lightbox>\n      </Modal>\n    </Overlay>\n  </Router>\n);\n\nexport default AppNavigator;\n"
  },
  {
    "path": "examples/expo/package.json",
    "content": "{\n  \"name\": \"my-new-project\",\n  \"main\": \"node_modules/expo/AppEntry.js\",\n  \"private\": true,\n  \"scripts\": {\n    \"start\": \"expo start\",\n    \"dev:start\": \"yarn dev && yarn start\",\n    \"android\": \"expo start --android\",\n    \"ios\": \"expo start --ios\",\n    \"dev:ios\": \"yarn dev && yarn ios\",\n    \"dev:android\": \"yarn dev && yarn android\",\n    \"dev\": \"cp ../../src/* node_modules/react-native-router-flux/src/\",\n    \"eject\": \"expo eject\",\n    \"lint\": \"yarn run eslint **/*.js\",\n    \"fix\": \"yarn run eslint **/*.js --fix\",\n    \"test\": \"node ./node_modules/jest/bin/jest.js --watchAll\",\n    \"postinstall\": \"./node_modules/.bin/rnrf dedup\"\n  },\n  \"jest\": {\n    \"preset\": \"jest-expo\"\n  },\n  \"dependencies\": {\n    \"@expo/samples\": \"2.1.1\",\n    \"expo\": \"^30.0.1\",\n    \"react\": \"16.3.1\",\n    \"react-native\": \"https://github.com/expo/react-native/archive/sdk-30.0.0.tar.gz\",\n    \"react-native-button\": \"~2.3.0\",\n    \"react-native-router-flux\": \"file:../..\",\n    \"react-native-router-flux-cli\": \"file:../../packages/react-native-router-flux-cli\",\n    \"react-navigation\": \"~2.14.2\",\n    \"react-navigation-stack\": \"^0.4.0\"\n  },\n  \"devDependencies\": {\n    \"@babel/core\": \"7.1.0\",\n    \"babel-core\": \"^7.0.0-0\",\n    \"eslint\": \"^5.6.0\",\n    \"eslint-config-universe\": \"^2.0.0-alpha.0\",\n    \"jest-expo\": \"^30.0.0\",\n    \"prettier\": \"^1.14.2\",\n    \"react-native-debugger-open\": \"^0.3.17\"\n  },\n  \"eslintConfig\": {\n    \"extends\": [\n      \"universe/node\",\n      \"universe/native\"\n    ]\n  }\n}\n"
  },
  {
    "path": "examples/expo/screens/HomeScreen.js",
    "content": "import React from 'react';\nimport {\n  Image,\n  Platform,\n  ScrollView,\n  StyleSheet,\n  Text,\n  TouchableOpacity,\n  View,\n} from 'react-native';\nimport { WebBrowser } from 'expo';\nimport robotDev from '../assets/images/robot-dev.png';\nimport robotProd from '../assets/images/robot-prod.png';\n\nimport { MonoText } from '../components/StyledText';\n\nexport default class HomeScreen extends React.Component {\n  static navigationOptions = {\n  };\n\n  _maybeRenderDevelopmentModeWarning() {\n    if (__DEV__) {\n      const learnMoreButton = (\n        <Text onPress={this._handleLearnMorePress} style={styles.helpLinkText}>\n          Learn more\n        </Text>\n      );\n\n      return (\n        <Text style={styles.developmentModeText}>\n          Development mode is enabled, your app will be slower but you can use useful development\n          tools. {learnMoreButton}\n        </Text>\n      );\n    }\n    return (\n      <Text style={styles.developmentModeText}>\n        You are not in development mode, your app will run at full speed.\n      </Text>\n    );\n  }\n\n  _handleLearnMorePress = () => {\n    WebBrowser.openBrowserAsync('https://docs.expo.io/versions/latest/guides/development-mode');\n  };\n\n  _handleHelpPress = () => {\n    WebBrowser.openBrowserAsync(\n      'https://docs.expo.io/versions/latest/guides/up-and-running.html#can-t-see-your-changes'\n    );\n  };\n\n  render() {\n    return (\n      <View style={styles.container}>\n        <ScrollView style={styles.container} contentContainerStyle={styles.contentContainer}>\n          <View style={styles.welcomeContainer}>\n            <Image source={__DEV__ ? robotDev : robotProd} style={styles.welcomeImage} />\n          </View>\n\n          <View style={styles.getStartedContainer}>\n            {this._maybeRenderDevelopmentModeWarning()}\n\n            <Text style={styles.getStartedText}>Get started by opening</Text>\n\n            <View style={[styles.codeHighlightContainer, styles.homeScreenFilename]}>\n              <MonoText style={styles.codeHighlightText}>screens/HomeScreen.js</MonoText>\n            </View>\n\n            <Text style={styles.getStartedText}>\n              Change this text and your app will automatically reload.\n            </Text>\n          </View>\n\n          <View style={styles.helpContainer}>\n            <TouchableOpacity onPress={this._handleHelpPress} style={styles.helpLink}>\n              <Text style={styles.helpLinkText}>Help, it didn’t automatically reload!</Text>\n            </TouchableOpacity>\n          </View>\n        </ScrollView>\n\n        <View style={styles.tabBarInfoContainer}>\n          <Text style={styles.tabBarInfoText}>This is a tab bar. You can edit it in:</Text>\n\n          <View style={[styles.codeHighlightContainer, styles.navigationFilename]}>\n            <MonoText style={styles.codeHighlightText}>navigation/MainTabNavigator.js</MonoText>\n          </View>\n        </View>\n      </View>\n    );\n  }\n}\n\nconst styles = StyleSheet.create({\n  container: {\n    flex: 1,\n    backgroundColor: '#fff',\n  },\n  developmentModeText: {\n    marginBottom: 20,\n    color: 'rgba(0,0,0,0.4)',\n    fontSize: 14,\n    lineHeight: 19,\n    textAlign: 'center',\n  },\n  contentContainer: {\n    paddingTop: 30,\n  },\n  welcomeContainer: {\n    alignItems: 'center',\n    marginTop: 10,\n    marginBottom: 20,\n  },\n  welcomeImage: {\n    width: 100,\n    height: 80,\n    resizeMode: 'contain',\n    marginTop: 3,\n    marginLeft: -10,\n  },\n  getStartedContainer: {\n    alignItems: 'center',\n    marginHorizontal: 50,\n  },\n  homeScreenFilename: {\n    marginVertical: 7,\n  },\n  codeHighlightText: {\n    color: 'rgba(96,100,109, 0.8)',\n  },\n  codeHighlightContainer: {\n    backgroundColor: 'rgba(0,0,0,0.05)',\n    borderRadius: 3,\n    paddingHorizontal: 4,\n  },\n  getStartedText: {\n    fontSize: 17,\n    color: 'rgba(96,100,109, 1)',\n    lineHeight: 24,\n    textAlign: 'center',\n  },\n  tabBarInfoContainer: {\n    position: 'absolute',\n    bottom: 0,\n    left: 0,\n    right: 0,\n    ...Platform.select({\n      ios: {\n        shadowColor: 'black',\n        shadowOffset: { height: -3 },\n        shadowOpacity: 0.1,\n        shadowRadius: 3,\n      },\n      android: {\n        elevation: 20,\n      },\n    }),\n    alignItems: 'center',\n    backgroundColor: '#fbfbfb',\n    paddingVertical: 20,\n  },\n  tabBarInfoText: {\n    fontSize: 17,\n    color: 'rgba(96,100,109, 1)',\n    textAlign: 'center',\n  },\n  navigationFilename: {\n    marginTop: 5,\n  },\n  helpContainer: {\n    marginTop: 15,\n    alignItems: 'center',\n  },\n  helpLink: {\n    paddingVertical: 15,\n  },\n  helpLinkText: {\n    fontSize: 14,\n    color: '#2e78b7',\n  },\n});\n"
  },
  {
    "path": "examples/expo/screens/LinksScreen.js",
    "content": "import React from 'react';\nimport { ScrollView, StyleSheet } from 'react-native';\nimport { ExpoLinksView } from '@expo/samples';\n\nexport default class LinksScreen extends React.Component {\n  static navigationOptions = {\n    title: 'Links',\n  };\n\n  render() {\n    return (\n      <ScrollView style={styles.container}>\n        {/* Go ahead and delete ExpoLinksView and replace it with your\n           * content, we just wanted to provide you with some helpful links */}\n        <ExpoLinksView />\n      </ScrollView>\n    );\n  }\n}\n\nconst styles = StyleSheet.create({\n  container: {\n    flex: 1,\n    paddingTop: 15,\n    backgroundColor: '#fff',\n  },\n});\n"
  },
  {
    "path": "examples/expo/screens/SettingsScreen.js",
    "content": "import React from 'react';\nimport { ExpoConfigView } from '@expo/samples';\n\nexport default class SettingsScreen extends React.Component {\n  static navigationOptions = {\n    title: 'app.json',\n  };\n\n  render() {\n    /* Go ahead and delete ExpoConfigView and replace it with your\n     * content, we just wanted to give you a quick view of your config */\n    return <ExpoConfigView />;\n  }\n}\n"
  },
  {
    "path": "examples/react-native/.buckconfig",
    "content": "\n[android]\n  target = Google Inc.:Google APIs:23\n\n[maven_repositories]\n  central = https://repo1.maven.org/maven2\n"
  },
  {
    "path": "examples/react-native/.eslintrc.js",
    "content": "module.exports = {\n  root: true,\n  extends: '@react-native-community',\n};\n"
  },
  {
    "path": "examples/react-native/.flowconfig",
    "content": "[ignore]\n; We fork some components by platform\n.*/*[.]android.js\n\n; Ignore \"BUCK\" generated dirs\n<PROJECT_ROOT>/\\.buckd/\n\n; Ignore polyfills\nnode_modules/react-native/Libraries/polyfills/.*\n\n; These should not be required directly\n; require from fbjs/lib instead: require('fbjs/lib/warning')\nnode_modules/warning/.*\n\n; Flow doesn't support platforms\n.*/Libraries/Utilities/LoadingView.js\n\n[untyped]\n.*/node_modules/@react-native-community/cli/.*/.*\n\n[include]\n\n[libs]\nnode_modules/react-native/Libraries/react-native/react-native-interface.js\nnode_modules/react-native/flow/\n\n[options]\nemoji=true\n\nesproposal.optional_chaining=enable\nesproposal.nullish_coalescing=enable\n\nmodule.file_ext=.js\nmodule.file_ext=.json\nmodule.file_ext=.ios.js\n\nmunge_underscores=true\n\nmodule.name_mapper='^react-native$' -> '<PROJECT_ROOT>/node_modules/react-native/Libraries/react-native/react-native-implementation'\nmodule.name_mapper='^react-native/\\(.*\\)$' -> '<PROJECT_ROOT>/node_modules/react-native/\\1'\nmodule.name_mapper='^[./a-zA-Z0-9$_-]+\\.\\(bmp\\|gif\\|jpg\\|jpeg\\|png\\|psd\\|svg\\|webp\\|m4v\\|mov\\|mp4\\|mpeg\\|mpg\\|webm\\|aac\\|aiff\\|caf\\|m4a\\|mp3\\|wav\\|html\\|pdf\\)$' -> '<PROJECT_ROOT>/node_modules/react-native/Libraries/Image/RelativeImageStub'\n\nsuppress_type=$FlowIssue\nsuppress_type=$FlowFixMe\nsuppress_type=$FlowFixMeProps\nsuppress_type=$FlowFixMeState\n\nsuppress_comment=\\\\(.\\\\|\\n\\\\)*\\\\$FlowFixMe\\\\($\\\\|[^(]\\\\|(\\\\(<VERSION>\\\\)? *\\\\(site=[a-z,_]*react_native\\\\(_ios\\\\)?_\\\\(oss\\\\|fb\\\\)[a-z,_]*\\\\)?)\\\\)\nsuppress_comment=\\\\(.\\\\|\\n\\\\)*\\\\$FlowIssue\\\\((\\\\(<VERSION>\\\\)? *\\\\(site=[a-z,_]*react_native\\\\(_ios\\\\)?_\\\\(oss\\\\|fb\\\\)[a-z,_]*\\\\)?)\\\\)?:? #[0-9]+\nsuppress_comment=\\\\(.\\\\|\\n\\\\)*\\\\$FlowExpectedError\n\n[lints]\nsketchy-null-number=warn\nsketchy-null-mixed=warn\nsketchy-number=warn\nuntyped-type-import=warn\nnonstrict-import=warn\ndeprecated-type=warn\nunsafe-getters-setters=warn\ninexact-spread=warn\nunnecessary-invariant=warn\nsignature-verification-failure=warn\ndeprecated-utility=error\n\n[strict]\ndeprecated-type\nnonstrict-import\nsketchy-null\nunclear-type\nunsafe-getters-setters\nuntyped-import\nuntyped-type-import\n\n[version]\n^0.105.0\n"
  },
  {
    "path": "examples/react-native/.gitattributes",
    "content": "*.pbxproj -text\n"
  },
  {
    "path": "examples/react-native/.gitignore",
    "content": "# OSX\n#\n.DS_Store\n\n# Xcode\n#\nbuild/\n*.pbxuser\n!default.pbxuser\n*.mode1v3\n!default.mode1v3\n*.mode2v3\n!default.mode2v3\n*.perspectivev3\n!default.perspectivev3\nxcuserdata\n*.xccheckout\n*.moved-aside\nDerivedData\n*.hmap\n*.ipa\n*.xcuserstate\n\n# Android/IntelliJ\n#\nbuild/\n.idea\n.gradle\nlocal.properties\n*.iml\n\n# node.js\n#\nnode_modules/\nnpm-debug.log\nyarn-error.log\n\n# BUCK\nbuck-out/\n\\.buckd/\n*.keystore\n!debug.keystore\n\n# fastlane\n#\n# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the\n# screenshots whenever they are needed.\n# For more information about the recommended setup visit:\n# https://docs.fastlane.tools/best-practices/source-control/\n\n*/fastlane/report.xml\n*/fastlane/Preview.html\n*/fastlane/screenshots\n\n# Bundle artifact\n*.jsbundle\n\n# CocoaPods\n/ios/Pods/\n"
  },
  {
    "path": "examples/react-native/.npmignore",
    "content": "# OSX\n#\n.DS_Store\n\n# Xcode\n#\nbuild/\n*.pbxuser\n!default.pbxuser\n*.mode1v3\n!default.mode1v3\n*.mode2v3\n!default.mode2v3\n*.perspectivev3\n!default.perspectivev3\nxcuserdata\n*.xccheckout\n*.moved-aside\nDerivedData\n*.hmap\n*.ipa\n*.xcuserstate\n\n# node.js\n#\nnode_modules/\nnpm-debug.log\n"
  },
  {
    "path": "examples/react-native/.prettierrc.js",
    "content": "module.exports = {\n  bracketSpacing: false,\n  jsxBracketSameLine: true,\n  singleQuote: true,\n  trailingComma: 'all',\n};\n"
  },
  {
    "path": "examples/react-native/.watchmanconfig",
    "content": "{}\n"
  },
  {
    "path": "examples/react-native/App.js",
    "content": "import React from 'react';\nimport {Platform, StyleSheet, Text} from 'react-native';\nimport {StackViewStyleInterpolator} from 'react-navigation-stack';\nimport {\n  Scene,\n  Router,\n  Actions,\n  ActionConst,\n  Overlay,\n  Tabs,\n  Modal,\n  Drawer,\n  Stack,\n  Lightbox,\n} from 'react-native-router-flux';\nimport Launch from './components/Launch';\nimport Register from './components/Register';\nimport Login from './components/Login';\nimport Login2 from './components/Login2';\nimport Login3 from './components/Login3';\nimport Home from './components/Home';\nimport DrawerContent from './components/drawer/DrawerContent';\nimport TabView from './components/TabView';\nimport TabIcon from './components/TabIcon';\nimport EchoView from './components/EchoView';\nimport MessageBar from './components/MessageBar';\nimport ErrorModal from './components/modal/ErrorModal';\nimport DemoLightbox from './components/lightbox/DemoLightbox';\nimport MenuIcon from './images/menu_burger.png';\nimport CustomNavBarView from './components/CustomNavBarView';\nimport CustomNavBar from './components/CustomNavBar';\nimport CustomNavBar2 from './components/CustomNavBar2';\n\nconst styles = StyleSheet.create({\n  container: {\n    flex: 1,\n    backgroundColor: 'transparent',\n    justifyContent: 'center',\n    alignItems: 'center',\n  },\n  scene: {\n    backgroundColor: '#F5FCFF',\n    shadowOpacity: 1,\n    shadowRadius: 3,\n  },\n  tabBarStyle: {\n    backgroundColor: '#eee',\n  },\n  tabBarSelectedItemStyle: {\n    backgroundColor: '#ddd',\n  },\n});\n\nconst stateHandler = (prevState, newState, action) => {\n  console.log('onStateChange: ACTION:', action);\n};\n\n// on Android, the URI prefix typically contains a host in addition to scheme\nconst prefix = Platform.OS === 'android' ? 'mychat://mychat/' : 'mychat://';\n\nconst transitionConfig = () => ({\n  screenInterpolator: StackViewStyleInterpolator.forFadeFromBottomAndroid,\n});\n\nconst Example = () => (\n  <Router\n    onStateChange={stateHandler}\n    sceneStyle={styles.scene}\n    uriPrefix={prefix}>\n    <Overlay key=\"overlay\">\n      <Modal key=\"modal\" hideNavBar transitionConfig={transitionConfig}>\n        <Lightbox key=\"lightbox\">\n          <Stack key=\"root\" titleStyle={{alignSelf: 'center'}} hideNavBar>\n            <Scene\n              key=\"echo\"\n              back\n              clone\n              component={EchoView}\n              getTitle={({navigation}) => navigation.state.key}\n            />\n            <Scene\n              key=\"launch\"\n              component={Launch}\n              title=\"Launch\"\n              initial\n              type={ActionConst.RESET}\n            />\n\n            <Stack key=\"customNavBar\" hideTabBar headerLayoutPreset=\"center\">\n              <Scene\n                key=\"customNavBar1\"\n                title=\"CustomNavBar 1\"\n                navBar={CustomNavBar}\n                component={CustomNavBarView}\n                back\n              />\n              <Scene\n                key=\"customNavBar2\"\n                title=\"CustomNavBar 2\"\n                navBar={CustomNavBar}\n                component={CustomNavBarView}\n                back\n              />\n              <Scene\n                key=\"customNavBar3\"\n                title=\"Another CustomNavBar\"\n                navBar={CustomNavBar2}\n                component={CustomNavBarView}\n                back\n              />\n              <Scene\n                key=\"hiddenNavBar\"\n                title=\"hiddenNavBar\"\n                component={CustomNavBarView}\n                hideNavBar={true}\n                back\n              />\n            </Stack>\n\n            <Stack\n              back\n              backTitle=\"Back\"\n              key=\"register\"\n              duration={0}\n              navTransparent>\n              <Scene key=\"_register\" component={Register} title=\"Register\" />\n              <Scene key=\"register2\" component={Register} title=\"Register2\" />\n              <Scene\n                key=\"home\"\n                component={Home}\n                title=\"Replace\"\n                type={ActionConst.REPLACE}\n              />\n            </Stack>\n\n            <Drawer\n              hideNavBar\n              key=\"drawer\"\n              onExit={() => {\n                console.log('Drawer closed');\n              }}\n              onEnter={() => {\n                console.log('Drawer opened');\n              }}\n              contentComponent={DrawerContent}\n              drawerImage={MenuIcon}\n              drawerWidth={300}>\n              {/*\n                Wrapper Scene needed to fix a bug where the tabs would\n                reload as a modal ontop of itself\n              */}\n              <Scene hideNavBar panHandlers={null}>\n                <Tabs\n                  key=\"tabbar\"\n                  routeName=\"tabbar\"\n                  backToInitial\n                  onTabOnPress={() => {\n                    console.log('Back to initial and also print this');\n                  }}\n                  showLabel={false}\n                  tabBarStyle={styles.tabBarStyle}\n                  activeBackgroundColor=\"white\"\n                  inactiveBackgroundColor=\"rgba(255, 0, 0, 0.5)\">\n                  <Stack\n                    key=\"tab_1\"\n                    title=\"Tab #1\"\n                    tabBarLabel=\"TAB #1\"\n                    inactiveBackgroundColor=\"#FFF\"\n                    activeBackgroundColor=\"#DDD\"\n                    icon={TabIcon}\n                    navigationBarStyle={{backgroundColor: 'green'}}\n                    titleStyle={{color: 'white', alignSelf: 'center'}}>\n                    <Scene\n                      key=\"tab_1_1\"\n                      component={TabView}\n                      title=\"Tab #1_1\"\n                      onRight={() => alert('Right button')}\n                      rightTitle=\"Right\"\n                    />\n\n                    <Scene\n                      key=\"tab_1_2\"\n                      component={TabView}\n                      title=\"Tab #1_2\"\n                      back\n                      titleStyle={{color: 'black', alignSelf: 'center'}}\n                    />\n                  </Stack>\n\n                  <Stack key=\"tab_2\" title=\"Tab #2\" icon={TabIcon} initial>\n                    <Scene\n                      key=\"tab_2_1\"\n                      component={TabView}\n                      title=\"Tab #2_1\"\n                      renderRightButton={() => <Text>Right</Text>}\n                    />\n                    <Scene\n                      key=\"tab_2_2\"\n                      component={TabView}\n                      title=\"Tab #2_2\"\n                      back\n                      onBack={() => alert('onBack button!')}\n                      hideDrawerButton\n                      backTitle=\"Back!\"\n                      panHandlers={null}\n                    />\n                  </Stack>\n\n                  <Stack key=\"tab_3\" icon={TabIcon} title=\"Tab #3\">\n                    <Scene\n                      key=\"tab_3_1\"\n                      component={TabView}\n                      rightTitle=\"Reset to 'tabbar'\"\n                      onRight={() => Actions.reset('tabbar')}\n                    />\n                  </Stack>\n                  <Scene\n                    key=\"tab_4_1\"\n                    component={TabView}\n                    title=\"Tab #4\"\n                    hideNavBar\n                    icon={TabIcon}\n                  />\n                  <Stack key=\"tab_5\" icon={TabIcon} title=\"Tab #5\">\n                    <Scene key=\"tab_5_1\" component={TabView} />\n                  </Stack>\n                </Tabs>\n              </Scene>\n            </Drawer>\n          </Stack>\n\n          <Scene key=\"demo_lightbox\" component={DemoLightbox} />\n        </Lightbox>\n        <Scene key=\"error\" component={ErrorModal} />\n        <Stack\n          key=\"login\"\n          headerLayoutPreset=\"center\"\n          path=\"login/:data\"\n          titleStyle={{alignSelf: 'center'}}>\n          <Scene\n            key=\"loginModal\"\n            component={Login}\n            title=\"Login\"\n            onExit={() => console.log('Login: onExit')}\n            leftTitle=\"Cancel\"\n            onLeft={Actions.pop}\n          />\n          <Scene\n            key=\"loginModal2\"\n            component={Login2}\n            title=\"Login2\"\n            onEnter={() => console.log('Login2: onEnter')}\n            backTitle=\"Back\"\n            panHandlers={null}\n            duration={1}\n          />\n          <Scene\n            key=\"loginModal3\"\n            hideNavBar\n            component={Login3}\n            title=\"Login3\"\n            onEnter={() => console.log('Login3: onEnter')}\n            onExit={() => console.log('Login3: onExit')}\n            panHandlers={null}\n            duration={1}\n          />\n        </Stack>\n      </Modal>\n\n      <Scene component={MessageBar} />\n    </Overlay>\n  </Router>\n);\n\nexport default Example;\n"
  },
  {
    "path": "examples/react-native/__tests__/App-test.js",
    "content": "/**\n * @format\n */\n\nimport 'react-native';\nimport React from 'react';\nimport App from '../App';\n\n// Note: test renderer must be required after react-native.\nimport renderer from 'react-test-renderer';\n\nit('renders correctly', () => {\n  renderer.create(<App />);\n});\n"
  },
  {
    "path": "examples/react-native/android/app/BUCK",
    "content": "# To learn about Buck see [Docs](https://buckbuild.com/).\n# To run your application with Buck:\n# - install Buck\n# - `npm start` - to start the packager\n# - `cd android`\n# - `keytool -genkey -v -keystore keystores/debug.keystore -storepass android -alias androiddebugkey -keypass android -dname \"CN=Android Debug,O=Android,C=US\"`\n# - `./gradlew :app:copyDownloadableDepsToLibs` - make all Gradle compile dependencies available to Buck\n# - `buck install -r android/app` - compile, install and run application\n#\n\nload(\":build_defs.bzl\", \"create_aar_targets\", \"create_jar_targets\")\n\nlib_deps = []\n\ncreate_aar_targets(glob([\"libs/*.aar\"]))\n\ncreate_jar_targets(glob([\"libs/*.jar\"]))\n\nandroid_library(\n    name = \"all-libs\",\n    exported_deps = lib_deps,\n)\n\nandroid_library(\n    name = \"app-code\",\n    srcs = glob([\n        \"src/main/java/**/*.java\",\n    ]),\n    deps = [\n        \":all-libs\",\n        \":build_config\",\n        \":res\",\n    ],\n)\n\nandroid_build_config(\n    name = \"build_config\",\n    package = \"com.example\",\n)\n\nandroid_resource(\n    name = \"res\",\n    package = \"com.example\",\n    res = \"src/main/res\",\n)\n\nandroid_binary(\n    name = \"app\",\n    keystore = \"//android/keystores:debug\",\n    manifest = \"src/main/AndroidManifest.xml\",\n    package_type = \"debug\",\n    deps = [\n        \":app-code\",\n    ],\n)\n"
  },
  {
    "path": "examples/react-native/android/app/build.gradle",
    "content": "apply plugin: \"com.android.application\"\n\nimport com.android.build.OutputFile\n\n/**\n * The react.gradle file registers a task for each build variant (e.g. bundleDebugJsAndAssets\n * and bundleReleaseJsAndAssets).\n * These basically call `react-native bundle` with the correct arguments during the Android build\n * cycle. By default, bundleDebugJsAndAssets is skipped, as in debug/dev mode we prefer to load the\n * bundle directly from the development server. Below you can see all the possible configurations\n * and their defaults. If you decide to add a configuration block, make sure to add it before the\n * `apply from: \"../../node_modules/react-native/react.gradle\"` line.\n *\n * project.ext.react = [\n *   // the name of the generated asset file containing your JS bundle\n *   bundleAssetName: \"index.android.bundle\",\n *\n *   // the entry file for bundle generation. If none specified and\n *   // \"index.android.js\" exists, it will be used. Otherwise \"index.js\" is\n *   // default. Can be overridden with ENTRY_FILE environment variable.\n *   entryFile: \"index.android.js\",\n *\n *   // https://reactnative.dev/docs/performance#enable-the-ram-format\n *   bundleCommand: \"ram-bundle\",\n *\n *   // whether to bundle JS and assets in debug mode\n *   bundleInDebug: false,\n *\n *   // whether to bundle JS and assets in release mode\n *   bundleInRelease: true,\n *\n *   // whether to bundle JS and assets in another build variant (if configured).\n *   // See http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Variants\n *   // The configuration property can be in the following formats\n *   //         'bundleIn${productFlavor}${buildType}'\n *   //         'bundleIn${buildType}'\n *   // bundleInFreeDebug: true,\n *   // bundleInPaidRelease: true,\n *   // bundleInBeta: true,\n *\n *   // whether to disable dev mode in custom build variants (by default only disabled in release)\n *   // for example: to disable dev mode in the staging build type (if configured)\n *   devDisabledInStaging: true,\n *   // The configuration property can be in the following formats\n *   //         'devDisabledIn${productFlavor}${buildType}'\n *   //         'devDisabledIn${buildType}'\n *\n *   // the root of your project, i.e. where \"package.json\" lives\n *   root: \"../../\",\n *\n *   // where to put the JS bundle asset in debug mode\n *   jsBundleDirDebug: \"$buildDir/intermediates/assets/debug\",\n *\n *   // where to put the JS bundle asset in release mode\n *   jsBundleDirRelease: \"$buildDir/intermediates/assets/release\",\n *\n *   // where to put drawable resources / React Native assets, e.g. the ones you use via\n *   // require('./image.png')), in debug mode\n *   resourcesDirDebug: \"$buildDir/intermediates/res/merged/debug\",\n *\n *   // where to put drawable resources / React Native assets, e.g. the ones you use via\n *   // require('./image.png')), in release mode\n *   resourcesDirRelease: \"$buildDir/intermediates/res/merged/release\",\n *\n *   // by default the gradle tasks are skipped if none of the JS files or assets change; this means\n *   // that we don't look at files in android/ or ios/ to determine whether the tasks are up to\n *   // date; if you have any other folders that you want to ignore for performance reasons (gradle\n *   // indexes the entire tree), add them here. Alternatively, if you have JS files in android/\n *   // for example, you might want to remove it from here.\n *   inputExcludes: [\"android/**\", \"ios/**\"],\n *\n *   // override which node gets called and with what additional arguments\n *   nodeExecutableAndArgs: [\"node\"],\n *\n *   // supply additional arguments to the packager\n *   extraPackagerArgs: []\n * ]\n */\n\nproject.ext.react = [\n    enableHermes: false,  // clean and rebuild if changing\n]\n\napply from: \"../../node_modules/react-native/react.gradle\"\n\n/**\n * Set this to true to create two separate APKs instead of one:\n *   - An APK that only works on ARM devices\n *   - An APK that only works on x86 devices\n * The advantage is the size of the APK is reduced by about 4MB.\n * Upload all the APKs to the Play Store and people will download\n * the correct one based on the CPU architecture of their device.\n */\ndef enableSeparateBuildPerCPUArchitecture = false\n\n/**\n * Run Proguard to shrink the Java bytecode in release builds.\n */\ndef enableProguardInReleaseBuilds = false\n\n/**\n * The preferred build flavor of JavaScriptCore.\n *\n * For example, to use the international variant, you can use:\n * `def jscFlavor = 'org.webkit:android-jsc-intl:+'`\n *\n * The international variant includes ICU i18n library and necessary data\n * allowing to use e.g. `Date.toLocaleString` and `String.localeCompare` that\n * give correct results when using with locales other than en-US.  Note that\n * this variant is about 6MiB larger per architecture than default.\n */\ndef jscFlavor = 'org.webkit:android-jsc:+'\n\n/**\n * Whether to enable the Hermes VM.\n *\n * This should be set on project.ext.react and mirrored here.  If it is not set\n * on project.ext.react, JavaScript will not be compiled to Hermes Bytecode\n * and the benefits of using Hermes will therefore be sharply reduced.\n */\ndef enableHermes = project.ext.react.get(\"enableHermes\", false);\n\nandroid {\n    compileSdkVersion rootProject.ext.compileSdkVersion\n\n    compileOptions {\n        sourceCompatibility JavaVersion.VERSION_1_8\n        targetCompatibility JavaVersion.VERSION_1_8\n    }\n\n    defaultConfig {\n        applicationId \"com.example\"\n        minSdkVersion rootProject.ext.minSdkVersion\n        targetSdkVersion rootProject.ext.targetSdkVersion\n        versionCode 1\n        versionName \"1.0\"\n    }\n    splits {\n        abi {\n            reset()\n            enable enableSeparateBuildPerCPUArchitecture\n            universalApk false  // If true, also generate a universal APK\n            include \"armeabi-v7a\", \"x86\", \"arm64-v8a\", \"x86_64\"\n        }\n    }\n    signingConfigs {\n        debug {\n            storeFile file('debug.keystore')\n            storePassword 'android'\n            keyAlias 'androiddebugkey'\n            keyPassword 'android'\n        }\n    }\n    buildTypes {\n        debug {\n            signingConfig signingConfigs.debug\n        }\n        release {\n            // Caution! In production, you need to generate your own keystore file.\n            // see https://reactnative.dev/docs/signed-apk-android.\n            signingConfig signingConfigs.debug\n            minifyEnabled enableProguardInReleaseBuilds\n            proguardFiles getDefaultProguardFile(\"proguard-android.txt\"), \"proguard-rules.pro\"\n        }\n    }\n\n    // applicationVariants are e.g. debug, release\n    applicationVariants.all { variant ->\n        variant.outputs.each { output ->\n            // For each separate APK per architecture, set a unique version code as described here:\n            // https://developer.android.com/studio/build/configure-apk-splits.html\n            def versionCodes = [\"armeabi-v7a\": 1, \"x86\": 2, \"arm64-v8a\": 3, \"x86_64\": 4]\n            def abi = output.getFilter(OutputFile.ABI)\n            if (abi != null) {  // null for the universal-debug, universal-release variants\n                output.versionCodeOverride =\n                        versionCodes.get(abi) * 1048576 + defaultConfig.versionCode\n            }\n\n        }\n    }\n}\n\ndependencies {\n    implementation fileTree(dir: \"libs\", include: [\"*.jar\"])\n    //noinspection GradleDynamicVersion\n    implementation \"com.facebook.react:react-native:+\"  // From node_modules\n\n    implementation \"androidx.swiperefreshlayout:swiperefreshlayout:1.0.0\"\n\n    debugImplementation(\"com.facebook.flipper:flipper:${FLIPPER_VERSION}\") {\n      exclude group:'com.facebook.fbjni'\n    }\n\n    debugImplementation(\"com.facebook.flipper:flipper-network-plugin:${FLIPPER_VERSION}\") {\n        exclude group:'com.facebook.flipper'\n    }\n\n    debugImplementation(\"com.facebook.flipper:flipper-fresco-plugin:${FLIPPER_VERSION}\") {\n        exclude group:'com.facebook.flipper'\n    }\n\n    if (enableHermes) {\n        def hermesPath = \"../../node_modules/hermes-engine/android/\";\n        debugImplementation files(hermesPath + \"hermes-debug.aar\")\n        releaseImplementation files(hermesPath + \"hermes-release.aar\")\n    } else {\n        implementation jscFlavor\n    }\n}\n\n// Run this once to be able to run the application with BUCK\n// puts all compile dependencies into folder libs for BUCK to use\ntask copyDownloadableDepsToLibs(type: Copy) {\n    from configurations.compile\n    into 'libs'\n}\n\napply from: file(\"../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle\"); applyNativeModulesAppBuildGradle(project)\n"
  },
  {
    "path": "examples/react-native/android/app/build_defs.bzl",
    "content": "\"\"\"Helper definitions to glob .aar and .jar targets\"\"\"\n\ndef create_aar_targets(aarfiles):\n    for aarfile in aarfiles:\n        name = \"aars__\" + aarfile[aarfile.rindex(\"/\") + 1:aarfile.rindex(\".aar\")]\n        lib_deps.append(\":\" + name)\n        android_prebuilt_aar(\n            name = name,\n            aar = aarfile,\n        )\n\ndef create_jar_targets(jarfiles):\n    for jarfile in jarfiles:\n        name = \"jars__\" + jarfile[jarfile.rindex(\"/\") + 1:jarfile.rindex(\".jar\")]\n        lib_deps.append(\":\" + name)\n        prebuilt_jar(\n            name = name,\n            binary_jar = jarfile,\n        )\n"
  },
  {
    "path": "examples/react-native/android/app/proguard-rules.pro",
    "content": "# Add project specific ProGuard rules here.\n# By default, the flags in this file are appended to flags specified\n# in /usr/local/Cellar/android-sdk/24.3.3/tools/proguard/proguard-android.txt\n# You can edit the include path and order by changing the proguardFiles\n# directive in build.gradle.\n#\n# For more details, see\n#   http://developer.android.com/guide/developing/tools/proguard.html\n\n# Add any project specific keep options here:\n"
  },
  {
    "path": "examples/react-native/android/app/src/debug/AndroidManifest.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:tools=\"http://schemas.android.com/tools\">\n\n    <uses-permission android:name=\"android.permission.SYSTEM_ALERT_WINDOW\"/>\n\n    <application android:usesCleartextTraffic=\"true\" tools:targetApi=\"28\" tools:ignore=\"GoogleAppIndexingWarning\" />\n</manifest>\n"
  },
  {
    "path": "examples/react-native/android/app/src/debug/java/com/example/ReactNativeFlipper.java",
    "content": "/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * <p>This source code is licensed under the MIT license found in the LICENSE file in the root\n * directory of this source tree.\n */\npackage com.example;\n\nimport android.content.Context;\nimport com.facebook.flipper.android.AndroidFlipperClient;\nimport com.facebook.flipper.android.utils.FlipperUtils;\nimport com.facebook.flipper.core.FlipperClient;\nimport com.facebook.flipper.plugins.crashreporter.CrashReporterPlugin;\nimport com.facebook.flipper.plugins.databases.DatabasesFlipperPlugin;\nimport com.facebook.flipper.plugins.fresco.FrescoFlipperPlugin;\nimport com.facebook.flipper.plugins.inspector.DescriptorMapping;\nimport com.facebook.flipper.plugins.inspector.InspectorFlipperPlugin;\nimport com.facebook.flipper.plugins.network.FlipperOkhttpInterceptor;\nimport com.facebook.flipper.plugins.network.NetworkFlipperPlugin;\nimport com.facebook.flipper.plugins.react.ReactFlipperPlugin;\nimport com.facebook.flipper.plugins.sharedpreferences.SharedPreferencesFlipperPlugin;\nimport com.facebook.react.ReactInstanceManager;\nimport com.facebook.react.bridge.ReactContext;\nimport com.facebook.react.modules.network.NetworkingModule;\nimport okhttp3.OkHttpClient;\n\npublic class ReactNativeFlipper {\n  public static void initializeFlipper(Context context, ReactInstanceManager reactInstanceManager) {\n    if (FlipperUtils.shouldEnableFlipper(context)) {\n      final FlipperClient client = AndroidFlipperClient.getInstance(context);\n\n      client.addPlugin(new InspectorFlipperPlugin(context, DescriptorMapping.withDefaults()));\n      client.addPlugin(new ReactFlipperPlugin());\n      client.addPlugin(new DatabasesFlipperPlugin(context));\n      client.addPlugin(new SharedPreferencesFlipperPlugin(context));\n      client.addPlugin(CrashReporterPlugin.getInstance());\n\n      NetworkFlipperPlugin networkFlipperPlugin = new NetworkFlipperPlugin();\n      NetworkingModule.setCustomClientBuilder(\n          new NetworkingModule.CustomClientBuilder() {\n            @Override\n            public void apply(OkHttpClient.Builder builder) {\n              builder.addNetworkInterceptor(new FlipperOkhttpInterceptor(networkFlipperPlugin));\n            }\n          });\n      client.addPlugin(networkFlipperPlugin);\n      client.start();\n\n      // Fresco Plugin needs to ensure that ImagePipelineFactory is initialized\n      // Hence we run if after all native modules have been initialized\n      ReactContext reactContext = reactInstanceManager.getCurrentReactContext();\n      if (reactContext == null) {\n        reactInstanceManager.addReactInstanceEventListener(\n            new ReactInstanceManager.ReactInstanceEventListener() {\n              @Override\n              public void onReactContextInitialized(ReactContext reactContext) {\n                reactInstanceManager.removeReactInstanceEventListener(this);\n                reactContext.runOnNativeModulesQueueThread(\n                    new Runnable() {\n                      @Override\n                      public void run() {\n                        client.addPlugin(new FrescoFlipperPlugin());\n                      }\n                    });\n              }\n            });\n      } else {\n        client.addPlugin(new FrescoFlipperPlugin());\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "examples/react-native/android/app/src/main/AndroidManifest.xml",
    "content": "<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  package=\"com.example\">\n\n    <uses-permission android:name=\"android.permission.INTERNET\" />\n\n    <application\n      android:name=\".MainApplication\"\n      android:label=\"@string/app_name\"\n      android:icon=\"@mipmap/ic_launcher\"\n      android:roundIcon=\"@mipmap/ic_launcher_round\"\n      android:allowBackup=\"false\"\n      android:theme=\"@style/AppTheme\">\n      <activity\n        android:name=\".MainActivity\"\n        android:label=\"@string/app_name\"\n        android:configChanges=\"keyboard|keyboardHidden|orientation|screenSize|uiMode\"\n        android:launchMode=\"singleTask\"\n        android:windowSoftInputMode=\"adjustResize\">\n        <intent-filter>\n            <action android:name=\"android.intent.action.MAIN\" />\n            <category android:name=\"android.intent.category.LAUNCHER\" />\n        </intent-filter>\n      </activity>\n      <activity android:name=\"com.facebook.react.devsupport.DevSettingsActivity\" />\n    </application>\n\n</manifest>\n"
  },
  {
    "path": "examples/react-native/android/app/src/main/java/com/example/MainActivity.java",
    "content": "package com.example;\n\nimport com.facebook.react.ReactActivity;\n\npublic class MainActivity extends ReactActivity {\n\n  /**\n   * Returns the name of the main component registered from JavaScript. This is used to schedule\n   * rendering of the component.\n   */\n  @Override\n  protected String getMainComponentName() {\n    return \"Example\";\n  }\n}\n"
  },
  {
    "path": "examples/react-native/android/app/src/main/java/com/example/MainApplication.java",
    "content": "package com.example;\n\nimport android.app.Application;\nimport android.content.Context;\nimport com.facebook.react.PackageList;\nimport com.facebook.react.ReactApplication;\nimport com.facebook.react.ReactInstanceManager;\nimport com.facebook.react.ReactNativeHost;\nimport com.facebook.react.ReactPackage;\nimport com.facebook.soloader.SoLoader;\nimport java.lang.reflect.InvocationTargetException;\nimport java.util.List;\n\npublic class MainApplication extends Application implements ReactApplication {\n\n  private final ReactNativeHost mReactNativeHost =\n      new ReactNativeHost(this) {\n        @Override\n        public boolean getUseDeveloperSupport() {\n          return BuildConfig.DEBUG;\n        }\n\n        @Override\n        protected List<ReactPackage> getPackages() {\n          @SuppressWarnings(\"UnnecessaryLocalVariable\")\n          List<ReactPackage> packages = new PackageList(this).getPackages();\n          // Packages that cannot be autolinked yet can be added manually here, for example:\n          // packages.add(new MyReactNativePackage());\n          return packages;\n        }\n\n        @Override\n        protected String getJSMainModuleName() {\n          return \"index\";\n        }\n      };\n\n  @Override\n  public ReactNativeHost getReactNativeHost() {\n    return mReactNativeHost;\n  }\n\n  @Override\n  public void onCreate() {\n    super.onCreate();\n    SoLoader.init(this, /* native exopackage */ false);\n    initializeFlipper(this, getReactNativeHost().getReactInstanceManager());\n  }\n\n  /**\n   * Loads Flipper in React Native templates. Call this in the onCreate method with something like\n   * initializeFlipper(this, getReactNativeHost().getReactInstanceManager());\n   *\n   * @param context\n   * @param reactInstanceManager\n   */\n  private static void initializeFlipper(\n      Context context, ReactInstanceManager reactInstanceManager) {\n    if (BuildConfig.DEBUG) {\n      try {\n        /*\n         We use reflection here to pick up the class that initializes Flipper,\n        since Flipper library is not available in release mode\n        */\n        Class<?> aClass = Class.forName(\"com.example.ReactNativeFlipper\");\n        aClass\n            .getMethod(\"initializeFlipper\", Context.class, ReactInstanceManager.class)\n            .invoke(null, context, reactInstanceManager);\n      } catch (ClassNotFoundException e) {\n        e.printStackTrace();\n      } catch (NoSuchMethodException e) {\n        e.printStackTrace();\n      } catch (IllegalAccessException e) {\n        e.printStackTrace();\n      } catch (InvocationTargetException e) {\n        e.printStackTrace();\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "examples/react-native/android/app/src/main/res/values/strings.xml",
    "content": "<resources>\n    <string name=\"app_name\">Example</string>\n</resources>\n"
  },
  {
    "path": "examples/react-native/android/app/src/main/res/values/styles.xml",
    "content": "<resources>\n\n    <!-- Base application theme. -->\n    <style name=\"AppTheme\" parent=\"Theme.AppCompat.Light.NoActionBar\">\n        <!-- Customize your theme here. -->\n        <item name=\"android:textColor\">#000000</item>\n    </style>\n\n</resources>\n"
  },
  {
    "path": "examples/react-native/android/build.gradle",
    "content": "// Top-level build file where you can add configuration options common to all sub-projects/modules.\n\nbuildscript {\n    ext {\n        buildToolsVersion = \"29.0.2\"\n        minSdkVersion = 16\n        compileSdkVersion = 29\n        targetSdkVersion = 29\n    }\n    repositories {\n        google()\n        jcenter()\n    }\n    dependencies {\n        classpath(\"com.android.tools.build:gradle:3.5.3\")\n        // NOTE: Do not place your application dependencies here; they belong\n        // in the individual module build.gradle files\n    }\n}\n\nallprojects {\n    repositories {\n        mavenLocal()\n        maven {\n            // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm\n            url(\"$rootDir/../node_modules/react-native/android\")\n        }\n        maven {\n            // Android JSC is installed from npm\n            url(\"$rootDir/../node_modules/jsc-android/dist\")\n        }\n\n        google()\n        jcenter()\n        maven { url 'https://www.jitpack.io' }\n    }\n}\n"
  },
  {
    "path": "examples/react-native/android/gradle/wrapper/gradle-wrapper.properties",
    "content": "distributionBase=GRADLE_USER_HOME\ndistributionPath=wrapper/dists\ndistributionUrl=https\\://services.gradle.org/distributions/gradle-6.2-all.zip\nzipStoreBase=GRADLE_USER_HOME\nzipStorePath=wrapper/dists\n"
  },
  {
    "path": "examples/react-native/android/gradle.properties",
    "content": "# Project-wide Gradle settings.\n\n# IDE (e.g. Android Studio) users:\n# Gradle settings configured through the IDE *will override*\n# any settings specified in this file.\n\n# For more details on how to configure your build environment visit\n# http://www.gradle.org/docs/current/userguide/build_environment.html\n\n# Specifies the JVM arguments used for the daemon process.\n# The setting is particularly useful for tweaking memory settings.\n# Default value: -Xmx10248m -XX:MaxPermSize=256m\n# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8\n\n# When configured, Gradle will run in incubating parallel mode.\n# This option should only be used with decoupled projects. More details, visit\n# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects\n# org.gradle.parallel=true\n\n# AndroidX package structure to make it clearer which packages are bundled with the\n# Android operating system, and which are packaged with your app's APK\n# https://developer.android.com/topic/libraries/support-library/androidx-rn\nandroid.useAndroidX=true\n# Automatically convert third-party libraries to use AndroidX\nandroid.enableJetifier=true\n\n# Version of flipper SDK to use with React Native\nFLIPPER_VERSION=0.37.0\n"
  },
  {
    "path": "examples/react-native/android/gradlew",
    "content": "#!/usr/bin/env sh\n\n#\n# Copyright 2015 the original author or authors.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      https://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n\n##############################################################################\n##\n##  Gradle start up script for UN*X\n##\n##############################################################################\n\n# Attempt to set APP_HOME\n# Resolve links: $0 may be a link\nPRG=\"$0\"\n# Need this for relative symlinks.\nwhile [ -h \"$PRG\" ] ; do\n    ls=`ls -ld \"$PRG\"`\n    link=`expr \"$ls\" : '.*-> \\(.*\\)$'`\n    if expr \"$link\" : '/.*' > /dev/null; then\n        PRG=\"$link\"\n    else\n        PRG=`dirname \"$PRG\"`\"/$link\"\n    fi\ndone\nSAVED=\"`pwd`\"\ncd \"`dirname \\\"$PRG\\\"`/\" >/dev/null\nAPP_HOME=\"`pwd -P`\"\ncd \"$SAVED\" >/dev/null\n\nAPP_NAME=\"Gradle\"\nAPP_BASE_NAME=`basename \"$0\"`\n\n# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.\nDEFAULT_JVM_OPTS='\"-Xmx64m\" \"-Xms64m\"'\n\n# Use the maximum available, or set MAX_FD != -1 to use that value.\nMAX_FD=\"maximum\"\n\nwarn () {\n    echo \"$*\"\n}\n\ndie () {\n    echo\n    echo \"$*\"\n    echo\n    exit 1\n}\n\n# OS specific support (must be 'true' or 'false').\ncygwin=false\nmsys=false\ndarwin=false\nnonstop=false\ncase \"`uname`\" in\n  CYGWIN* )\n    cygwin=true\n    ;;\n  Darwin* )\n    darwin=true\n    ;;\n  MINGW* )\n    msys=true\n    ;;\n  NONSTOP* )\n    nonstop=true\n    ;;\nesac\n\nCLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar\n\n# Determine the Java command to use to start the JVM.\nif [ -n \"$JAVA_HOME\" ] ; then\n    if [ -x \"$JAVA_HOME/jre/sh/java\" ] ; then\n        # IBM's JDK on AIX uses strange locations for the executables\n        JAVACMD=\"$JAVA_HOME/jre/sh/java\"\n    else\n        JAVACMD=\"$JAVA_HOME/bin/java\"\n    fi\n    if [ ! -x \"$JAVACMD\" ] ; then\n        die \"ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME\n\nPlease set the JAVA_HOME variable in your environment to match the\nlocation of your Java installation.\"\n    fi\nelse\n    JAVACMD=\"java\"\n    which java >/dev/null 2>&1 || die \"ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.\n\nPlease set the JAVA_HOME variable in your environment to match the\nlocation of your Java installation.\"\nfi\n\n# Increase the maximum file descriptors if we can.\nif [ \"$cygwin\" = \"false\" -a \"$darwin\" = \"false\" -a \"$nonstop\" = \"false\" ] ; then\n    MAX_FD_LIMIT=`ulimit -H -n`\n    if [ $? -eq 0 ] ; then\n        if [ \"$MAX_FD\" = \"maximum\" -o \"$MAX_FD\" = \"max\" ] ; then\n            MAX_FD=\"$MAX_FD_LIMIT\"\n        fi\n        ulimit -n $MAX_FD\n        if [ $? -ne 0 ] ; then\n            warn \"Could not set maximum file descriptor limit: $MAX_FD\"\n        fi\n    else\n        warn \"Could not query maximum file descriptor limit: $MAX_FD_LIMIT\"\n    fi\nfi\n\n# For Darwin, add options to specify how the application appears in the dock\nif $darwin; then\n    GRADLE_OPTS=\"$GRADLE_OPTS \\\"-Xdock:name=$APP_NAME\\\" \\\"-Xdock:icon=$APP_HOME/media/gradle.icns\\\"\"\nfi\n\n# For Cygwin or MSYS, switch paths to Windows format before running java\nif [ \"$cygwin\" = \"true\" -o \"$msys\" = \"true\" ] ; then\n    APP_HOME=`cygpath --path --mixed \"$APP_HOME\"`\n    CLASSPATH=`cygpath --path --mixed \"$CLASSPATH\"`\n    JAVACMD=`cygpath --unix \"$JAVACMD\"`\n\n    # We build the pattern for arguments to be converted via cygpath\n    ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`\n    SEP=\"\"\n    for dir in $ROOTDIRSRAW ; do\n        ROOTDIRS=\"$ROOTDIRS$SEP$dir\"\n        SEP=\"|\"\n    done\n    OURCYGPATTERN=\"(^($ROOTDIRS))\"\n    # Add a user-defined pattern to the cygpath arguments\n    if [ \"$GRADLE_CYGPATTERN\" != \"\" ] ; then\n        OURCYGPATTERN=\"$OURCYGPATTERN|($GRADLE_CYGPATTERN)\"\n    fi\n    # Now convert the arguments - kludge to limit ourselves to /bin/sh\n    i=0\n    for arg in \"$@\" ; do\n        CHECK=`echo \"$arg\"|egrep -c \"$OURCYGPATTERN\" -`\n        CHECK2=`echo \"$arg\"|egrep -c \"^-\"`                                 ### Determine if an option\n\n        if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then                    ### Added a condition\n            eval `echo args$i`=`cygpath --path --ignore --mixed \"$arg\"`\n        else\n            eval `echo args$i`=\"\\\"$arg\\\"\"\n        fi\n        i=`expr $i + 1`\n    done\n    case $i in\n        0) set -- ;;\n        1) set -- \"$args0\" ;;\n        2) set -- \"$args0\" \"$args1\" ;;\n        3) set -- \"$args0\" \"$args1\" \"$args2\" ;;\n        4) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" ;;\n        5) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" \"$args4\" ;;\n        6) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" \"$args4\" \"$args5\" ;;\n        7) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" \"$args4\" \"$args5\" \"$args6\" ;;\n        8) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" \"$args4\" \"$args5\" \"$args6\" \"$args7\" ;;\n        9) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" \"$args4\" \"$args5\" \"$args6\" \"$args7\" \"$args8\" ;;\n    esac\nfi\n\n# Escape application args\nsave () {\n    for i do printf %s\\\\n \"$i\" | sed \"s/'/'\\\\\\\\''/g;1s/^/'/;\\$s/\\$/' \\\\\\\\/\" ; done\n    echo \" \"\n}\nAPP_ARGS=`save \"$@\"`\n\n# Collect all arguments for the java command, following the shell quoting and substitution rules\neval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS \"\\\"-Dorg.gradle.appname=$APP_BASE_NAME\\\"\" -classpath \"\\\"$CLASSPATH\\\"\" org.gradle.wrapper.GradleWrapperMain \"$APP_ARGS\"\n\nexec \"$JAVACMD\" \"$@\"\n"
  },
  {
    "path": "examples/react-native/android/gradlew.bat",
    "content": "@rem\n@rem Copyright 2015 the original author or authors.\n@rem\n@rem Licensed under the Apache License, Version 2.0 (the \"License\");\n@rem you may not use this file except in compliance with the License.\n@rem You may obtain a copy of the License at\n@rem\n@rem      https://www.apache.org/licenses/LICENSE-2.0\n@rem\n@rem Unless required by applicable law or agreed to in writing, software\n@rem distributed under the License is distributed on an \"AS IS\" BASIS,\n@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n@rem See the License for the specific language governing permissions and\n@rem limitations under the License.\n@rem\n\n@if \"%DEBUG%\" == \"\" @echo off\n@rem ##########################################################################\n@rem\n@rem  Gradle startup script for Windows\n@rem\n@rem ##########################################################################\n\n@rem Set local scope for the variables with windows NT shell\nif \"%OS%\"==\"Windows_NT\" setlocal\n\nset DIRNAME=%~dp0\nif \"%DIRNAME%\" == \"\" set DIRNAME=.\nset APP_BASE_NAME=%~n0\nset APP_HOME=%DIRNAME%\n\n@rem Resolve any \".\" and \"..\" in APP_HOME to make it shorter.\nfor %%i in (\"%APP_HOME%\") do set APP_HOME=%%~fi\n\n@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.\nset DEFAULT_JVM_OPTS=\"-Xmx64m\" \"-Xms64m\"\n\n@rem Find java.exe\nif defined JAVA_HOME goto findJavaFromJavaHome\n\nset JAVA_EXE=java.exe\n%JAVA_EXE% -version >NUL 2>&1\nif \"%ERRORLEVEL%\" == \"0\" goto init\n\necho.\necho ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.\necho.\necho Please set the JAVA_HOME variable in your environment to match the\necho location of your Java installation.\n\ngoto fail\n\n:findJavaFromJavaHome\nset JAVA_HOME=%JAVA_HOME:\"=%\nset JAVA_EXE=%JAVA_HOME%/bin/java.exe\n\nif exist \"%JAVA_EXE%\" goto init\n\necho.\necho ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%\necho.\necho Please set the JAVA_HOME variable in your environment to match the\necho location of your Java installation.\n\ngoto fail\n\n:init\n@rem Get command-line arguments, handling Windows variants\n\nif not \"%OS%\" == \"Windows_NT\" goto win9xME_args\n\n:win9xME_args\n@rem Slurp the command line arguments.\nset CMD_LINE_ARGS=\nset _SKIP=2\n\n:win9xME_args_slurp\nif \"x%~1\" == \"x\" goto execute\n\nset CMD_LINE_ARGS=%*\n\n:execute\n@rem Setup the command line\n\nset CLASSPATH=%APP_HOME%\\gradle\\wrapper\\gradle-wrapper.jar\n\n@rem Execute Gradle\n\"%JAVA_EXE%\" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% \"-Dorg.gradle.appname=%APP_BASE_NAME%\" -classpath \"%CLASSPATH%\" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%\n\n:end\n@rem End local scope for the variables with windows NT shell\nif \"%ERRORLEVEL%\"==\"0\" goto mainEnd\n\n:fail\nrem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of\nrem the _cmd.exe /c_ return code!\nif  not \"\" == \"%GRADLE_EXIT_CONSOLE%\" exit 1\nexit /b 1\n\n:mainEnd\nif \"%OS%\"==\"Windows_NT\" endlocal\n\n:omega\n"
  },
  {
    "path": "examples/react-native/android/settings.gradle",
    "content": "rootProject.name = 'Example'\napply from: file(\"../node_modules/@react-native-community/cli-platform-android/native_modules.gradle\"); applyNativeModulesSettingsGradle(settings)\ninclude ':app'\n"
  },
  {
    "path": "examples/react-native/app.json",
    "content": "{\n  \"name\": \"Example\",\n  \"displayName\": \"Example\"\n}\n"
  },
  {
    "path": "examples/react-native/babel.config.js",
    "content": "module.exports = {\n  presets: ['module:metro-react-native-babel-preset'],\n};\n"
  },
  {
    "path": "examples/react-native/components/CustomNavBar.js",
    "content": "import {\n  Image,\n  Platform,\n  StyleSheet,\n  Text,\n  TouchableOpacity,\n  View,\n} from 'react-native';\nimport React from 'react';\nimport {Actions} from 'react-native-router-flux';\n\nconst styles = StyleSheet.create({\n  container: {\n    height: Platform.OS === 'ios' ? 64 : 54,\n    flexDirection: 'row',\n    paddingTop: 20,\n  },\n  navBarItem: {\n    flex: 1,\n    justifyContent: 'center',\n  },\n});\n\nexport default class CustomNavBar extends React.Component {\n  // constructor(props) {\n  //   super(props)\n  // }\n\n  _renderLeft() {\n    if (Actions.currentScene === 'customNavBar1') {\n      return (\n        <TouchableOpacity\n          onPress={() => console.log('Hamburger button pressed')}\n          style={[styles.navBarItem, {paddingLeft: 10}]}>\n          <Image\n            style={{width: 30, height: 50}}\n            resizeMode=\"contain\"\n            source={{\n              uri:\n                'https://upload.wikimedia.org/wikipedia/commons/thumb/b/b2/Hamburger_icon.svg/1200px-Hamburger_icon.svg.png',\n            }}\n          />\n        </TouchableOpacity>\n      );\n    }\n    return (\n      <TouchableOpacity\n        onPress={Actions.pop}\n        style={[styles.navBarItem, {paddingLeft: 10}]}>\n        <Image\n          style={{width: 30, height: 50}}\n          resizeMode=\"contain\"\n          source={{uri: 'https://image.flaticon.com/icons/png/512/0/340.png'}}\n        />\n      </TouchableOpacity>\n    );\n  }\n\n  _renderMiddle() {\n    return (\n      <View style={styles.navBarItem}>\n        <Text>{this.props.title}</Text>\n      </View>\n    );\n  }\n\n  _renderRight() {\n    return (\n      <View\n        style={[\n          styles.navBarItem,\n          {flexDirection: 'row', justifyContent: 'flex-end'},\n        ]}>\n        <TouchableOpacity\n          onPress={() => console.log('Share')}\n          style={{paddingRight: 10}}>\n          <Image\n            style={{width: 30, height: 50}}\n            resizeMode=\"contain\"\n            source={{\n              uri:\n                'https://cdn3.iconfinder.com/data/icons/glypho-free/64/share-512.png',\n            }}\n          />\n        </TouchableOpacity>\n        <TouchableOpacity\n          onPress={() => console.log('Search')}\n          style={{paddingRight: 10}}>\n          <Image\n            style={{width: 30, height: 50}}\n            resizeMode=\"contain\"\n            source={{\n              uri:\n                'https://maxcdn.icons8.com/Share/icon/p1em/Very_Basic//search1600.png',\n            }}\n          />\n        </TouchableOpacity>\n      </View>\n    );\n  }\n\n  render() {\n    let dynamicStyle = {};\n    if (Actions.currentScene === 'customNavBar1') {\n      dynamicStyle = {backgroundColor: 'red'};\n    } else {\n      dynamicStyle = {backgroundColor: 'yellow'};\n    }\n\n    return (\n      <View style={[styles.container, dynamicStyle]}>\n        {this._renderLeft()}\n        {this._renderMiddle()}\n        {this._renderRight()}\n      </View>\n    );\n  }\n}\n"
  },
  {
    "path": "examples/react-native/components/CustomNavBar2.js",
    "content": "import {\n  Image,\n  Platform,\n  StyleSheet,\n  Text,\n  TouchableOpacity,\n  View,\n} from 'react-native';\nimport React from 'react';\nimport {Actions} from 'react-native-router-flux';\n\nconst styles = StyleSheet.create({\n  container: {\n    height: Platform.OS === 'ios' ? 64 : 54,\n    flexDirection: 'row',\n    paddingTop: 20,\n    backgroundColor: 'green',\n  },\n  navBarItem: {\n    flex: 1,\n    justifyContent: 'center',\n  },\n});\n\nexport default class CustomNavBar extends React.Component {\n  // constructor(props) {\n  //   super(props)\n  // }\n\n  _renderLeft() {\n    return (\n      <TouchableOpacity\n        onPress={Actions.pop}\n        style={[styles.navBarItem, {paddingLeft: 10}]}>\n        <Image\n          style={{width: 30, height: 50}}\n          resizeMode=\"contain\"\n          source={{uri: 'https://image.flaticon.com/icons/png/512/0/340.png'}}\n        />\n      </TouchableOpacity>\n    );\n  }\n\n  _renderMiddle() {\n    return (\n      <View style={styles.navBarItem}>\n        <Text>{this.props.title}</Text>\n      </View>\n    );\n  }\n\n  render() {\n    return (\n      <View style={styles.container}>\n        {this._renderLeft()}\n        {this._renderMiddle()}\n      </View>\n    );\n  }\n}\n"
  },
  {
    "path": "examples/react-native/components/CustomNavBarView.js",
    "content": "import React from 'react';\nimport PropTypes from 'prop-types';\nimport {StyleSheet, View, ViewPropTypes} from 'react-native';\nimport Button from 'react-native-button';\nimport {Actions} from 'react-native-router-flux';\n\nconst propTypes = {\n  name: PropTypes.string,\n  sceneStyle: ViewPropTypes.style,\n  title: PropTypes.string,\n};\n\nconst styles = StyleSheet.create({\n  container: {\n    flex: 1,\n    justifyContent: 'center',\n    alignItems: 'center',\n    backgroundColor: 'transparent',\n    borderWidth: 2,\n    borderColor: 'red',\n  },\n});\n\nclass TabView extends React.Component {\n  render() {\n    return (\n      <View style={[styles.container, this.props.sceneStyle]}>\n        <Button onPress={Actions.pop}>Back</Button>\n        <Button onPress={() => Actions.replace('launch')}>Welcome Page</Button>\n        <Button\n          onPress={() => {\n            Actions.customNavBar1();\n          }}>\n          Switch to Scene with CustomNavBar #1\n        </Button>\n        <Button\n          onPress={() => {\n            Actions.customNavBar2();\n          }}>\n          Switch to Scene with CustomNavBar #2\n        </Button>\n        <Button\n          onPress={() => {\n            Actions.customNavBar3();\n          }}>\n          Switch to Scene with different CustomNavBar{' '}\n        </Button>\n        <Button\n          onPress={() => {\n            Actions.hiddenNavBar();\n          }}>\n          Switch to Scene with a navBar hidden\n        </Button>\n      </View>\n    );\n  }\n}\nTabView.propTypes = propTypes;\n\nexport default TabView;\n"
  },
  {
    "path": "examples/react-native/components/EchoView.js",
    "content": "import React from 'react';\nimport {View, Text, StyleSheet} from 'react-native';\nimport Button from 'react-native-button';\nimport {Actions} from 'react-native-router-flux';\n\nconst styles = StyleSheet.create({\n  container: {\n    flex: 1,\n    justifyContent: 'center',\n    alignItems: 'center',\n    backgroundColor: '#F5FCFF',\n    borderWidth: 2,\n    borderColor: 'red',\n  },\n  instructions: {\n    textAlign: 'center',\n    color: '#333333',\n    marginBottom: 5,\n  },\n  smaller: {\n    marginBottom: 5,\n    fontSize: 12,\n  },\n});\n\nexport default class extends React.Component {\n  onEnter() {\n    console.log('EchoView onEnter');\n  }\n\n  render() {\n    return (\n      <View style={[styles.container, this.props.sceneStyle]}>\n        <Text style={styles.instructions}>routeName: {this.props.name}</Text>\n        <Button onPress={Actions.pop}>pop</Button>\n      </View>\n    );\n  }\n}\n"
  },
  {
    "path": "examples/react-native/components/Error.js",
    "content": "import React from 'react';\nimport {View, Text, StyleSheet, Animated, Dimensions} from 'react-native';\nimport Button from 'react-native-button';\nimport {Actions} from 'react-native-router-flux';\n\nconst {height: deviceHeight} = Dimensions.get('window');\n\nconst styles = StyleSheet.create({\n  container: {\n    position: 'absolute',\n    top: 0,\n    bottom: 0,\n    left: 0,\n    right: 0,\n    backgroundColor: 'transparent',\n    justifyContent: 'center',\n    alignItems: 'center',\n  },\n});\n\nexport default class extends React.Component {\n  constructor(props) {\n    super(props);\n\n    this.state = {\n      offset: new Animated.Value(-deviceHeight),\n    };\n  }\n\n  componentDidMount() {\n    Animated.timing(this.state.offset, {\n      duration: 150,\n      toValue: 0,\n    }).start();\n  }\n\n  closeModal() {\n    Animated.timing(this.state.offset, {\n      duration: 150,\n      toValue: -deviceHeight,\n    }).start(Actions.pop);\n  }\n\n  render() {\n    return (\n      <Animated.View\n        style={[\n          styles.container,\n          {backgroundColor: 'rgba(52,52,52,0.5)'},\n          {transform: [{translateY: this.state.offset}]},\n        ]}>\n        <View\n          style={{\n            width: 250,\n            height: 250,\n            justifyContent: 'center',\n            alignItems: 'center',\n            backgroundColor: 'white',\n          }}>\n          <Text>{this.props.data}</Text>\n          <Button onPress={this.closeModal.bind(this)}>Close</Button>\n        </View>\n      </Animated.View>\n    );\n  }\n}\n"
  },
  {
    "path": "examples/react-native/components/Home.js",
    "content": "import React from 'react';\nimport {View, Text, StyleSheet} from 'react-native';\nimport Button from 'react-native-button';\nimport {Actions} from 'react-native-router-flux';\n\nconst styles = StyleSheet.create({\n  container: {\n    flex: 1,\n    justifyContent: 'center',\n    alignItems: 'center',\n    backgroundColor: '#F5FCFF',\n  },\n  welcome: {\n    fontSize: 20,\n    textAlign: 'center',\n    margin: 10,\n  },\n  instructions: {\n    textAlign: 'center',\n    color: '#333333',\n    marginBottom: 5,\n  },\n});\n\nclass Home extends React.Component {\n  render() {\n    return (\n      <View style={styles.container}>\n        <Text>Replace screen</Text>\n        <Text>Prop from dynamic method: {this.props.homeProp}</Text>\n        <Button onPress={Actions.pop}>Back</Button>\n      </View>\n    );\n  }\n}\n\nmodule.exports = Home;\n"
  },
  {
    "path": "examples/react-native/components/Launch.js",
    "content": "import React from 'react';\nimport {View, Text, StyleSheet, Button} from 'react-native';\nimport {Actions} from 'react-native-router-flux';\nimport {MessageBarManager} from 'react-native-message-bar';\n\nconst styles = StyleSheet.create({\n  container: {\n    flex: 1,\n    justifyContent: 'center',\n    alignItems: 'center',\n    backgroundColor: 'transparent',\n  },\n});\n\nclass Launch extends React.Component {\n  render() {\n    return (\n      <View {...this.props} style={styles.container}>\n        <Text>Welcome</Text>\n        <Button\n          title=\"Go to Login\"\n          onPress={() =>\n            Actions.login({data: 'Custom data', title: 'Custom title'})\n          }\n        />\n        <Button title=\"Go to Register page\" onPress={Actions.register} />\n        <Button title=\"Display Error Modal\" onPress={Actions.error} />\n        <Button\n          title=\"Display Lightbox\"\n          onPress={() => Actions.demo_lightbox({data: 'passed data'})}\n        />\n        <Button\n          title=\"Go to CustomNavBar page\"\n          onPress={() => Actions.customNavBar()}\n        />\n        <Button\n          title=\"MessageBar alert\"\n          onPress={() =>\n            MessageBarManager.showAlert({\n              title: 'Your alert title goes here',\n              message: 'Your alert message goes here',\n              alertType: 'success',\n              // See Properties section for full customization\n              // Or check `index.ios.js` or `index.android.js` for a complete example\n            })\n          }\n        />\n        <Button title=\"Go to TabBar page\" onPress={Actions.drawer} />\n      </View>\n    );\n  }\n}\n\nexport default Launch;\n"
  },
  {
    "path": "examples/react-native/components/Login.js",
    "content": "import React from 'react';\nimport {View, Text, StyleSheet} from 'react-native';\nimport Button from 'react-native-button';\nimport {Actions} from 'react-native-router-flux';\n\nconst styles = StyleSheet.create({\n  container: {\n    flex: 1,\n    justifyContent: 'center',\n    alignItems: 'center',\n    backgroundColor: '#F5FCFF',\n  },\n  welcome: {\n    fontSize: 20,\n    textAlign: 'center',\n    margin: 10,\n  },\n  instructions: {\n    textAlign: 'center',\n    color: '#333333',\n    marginBottom: 5,\n  },\n});\n\nexport default class extends React.Component {\n  static onEnter = () => {\n    Actions.refresh({\n      title: 'Login!',\n      rightTitle: 'rightTitle',\n      onRight: () => {},\n    });\n  };\n\n  render() {\n    const title = this.props.title || 'No Title';\n    const data = this.props.data || 'No Data';\n    console.log('Login RENDER');\n    return (\n      <View style={[styles.container, this.props.style]}>\n        <Text>Login page 1</Text>\n        <Text>Title: {title}</Text>\n        <Text>Data: {data}</Text>\n        <Button\n          onPress={() =>\n            Actions.loginModal2({data: 'Custom data2', title: 'Custom title2'})\n          }>\n          Login 2\n        </Button>\n        <Button\n          onPress={() =>\n            Actions.refresh({title: 'Changed title', data: 'Changed data'})\n          }>\n          Change title\n        </Button>\n        <Button onPress={Actions.pop}>Back</Button>\n      </View>\n    );\n  }\n}\n"
  },
  {
    "path": "examples/react-native/components/Login2.js",
    "content": "import React from 'react';\nimport {View, Text, StyleSheet} from 'react-native';\nimport Button from 'react-native-button';\nimport {Actions} from 'react-native-router-flux';\n\nconst styles = StyleSheet.create({\n  container: {\n    flex: 1,\n    justifyContent: 'center',\n    alignItems: 'center',\n    backgroundColor: '#F5FCFF',\n  },\n});\n\nexport default class extends React.Component {\n  render() {\n    const title = this.props.title || 'No Title';\n    const data = this.props.data || 'No Data';\n    return (\n      <View style={styles.container}>\n        <Text>Login page 2</Text>\n        <Text>Title: {title}</Text>\n        <Text>Data: {data}</Text>\n        <Button\n          onPress={() =>\n            Actions.loginModal3({data: 'Custom data3', title: 'Custom title3'})\n          }>\n          Login 3\n        </Button>\n      </View>\n    );\n  }\n}\n"
  },
  {
    "path": "examples/react-native/components/Login3.js",
    "content": "import React from 'react';\nimport {View, Text, StyleSheet} from 'react-native';\nimport Button from 'react-native-button';\nimport {Actions} from 'react-native-router-flux';\n\nconst styles = StyleSheet.create({\n  container: {\n    flex: 1,\n    justifyContent: 'center',\n    alignItems: 'center',\n    backgroundColor: '#F5FCFF',\n  },\n});\n\nconst popToRoot = () => {\n  Actions.popTo('launch');\n};\n\nconst popToLogin1 = () => {\n  Actions.popTo('loginModal');\n};\n\nconst popToLogin2 = () => {\n  Actions.popTo('loginModal2');\n};\n\nconst popAndRefresh = () => {\n  Actions.pop({\n    refresh: {data: 'Data after pop', title: 'title after pop'},\n    key: null,\n  });\n};\n\nexport default class extends React.Component {\n  render() {\n    const title = this.props.title || 'No Title';\n    const data = this.props.data || 'No Data';\n    return (\n      <View style={styles.container}>\n        <Text>Login page 3</Text>\n        <Text>Title: {title}</Text>\n        <Text>Data: {data}</Text>\n        <Button onPress={Actions.pop}>Back</Button>\n        <Button onPress={popToLogin1}>To Login</Button>\n        <Button onPress={popToLogin2}>To Login2</Button>\n        <Button onPress={popAndRefresh}>Back and refresh</Button>\n        <Button onPress={popToRoot}>To Root</Button>\n      </View>\n    );\n  }\n}\n"
  },
  {
    "path": "examples/react-native/components/MessageBar.js",
    "content": "import React from 'react';\nimport {MessageBar, MessageBarManager} from 'react-native-message-bar';\n\nexport default class extends React.Component {\n  componentDidMount() {\n    // Register the alert located on this master page\n    // This MessageBar will be accessible from the current (same) component, and from its child component\n    // The MessageBar is then declared only once, in your main component.\n    MessageBarManager.registerMessageBar(this.refs.alert);\n  }\n\n  componentWillUnmount() {\n    // Remove the alert located on this master page from the manager\n    MessageBarManager.unregisterMessageBar();\n  }\n\n  render() {\n    return <MessageBar ref=\"alert\" />;\n  }\n}\n"
  },
  {
    "path": "examples/react-native/components/Register.js",
    "content": "import React from 'react';\nimport {View, Text, StyleSheet} from 'react-native';\nimport Button from 'react-native-button';\nimport {Actions} from 'react-native-router-flux';\n\nconst styles = StyleSheet.create({\n  container: {\n    flex: 1,\n    justifyContent: 'center',\n    alignItems: 'center',\n    backgroundColor: '#F5FCFF',\n  },\n});\n\nconst Register = () => (\n  <View style={styles.container}>\n    <Text>Register page</Text>\n    <Button onPress={() => Actions.register2()}>Register</Button>\n    <Button onPress={() => Actions.home({homeProp: 'Test of prop refresh!'})}>\n      Replace screen\n    </Button>\n    <Button onPress={Actions.pop}>Back</Button>\n  </View>\n);\n\nexport default Register;\n"
  },
  {
    "path": "examples/react-native/components/TabIcon.js",
    "content": "import React from 'react';\nimport PropTypes from 'prop-types';\nimport {Text} from 'react-native';\n\nconst propTypes = {\n  focused: PropTypes.bool,\n  title: PropTypes.string,\n};\n\nconst defaultProps = {\n  focused: false,\n  title: '',\n};\n\nconst TabIcon = props => (\n  <Text style={{color: props.focused ? 'red' : 'black'}}>{props.title}</Text>\n);\n\nTabIcon.propTypes = propTypes;\nTabIcon.defaultProps = defaultProps;\n\nexport default TabIcon;\n"
  },
  {
    "path": "examples/react-native/components/TabView.js",
    "content": "import React from 'react';\nimport PropTypes from 'prop-types';\nimport {StyleSheet, Text, View, ViewPropTypes} from 'react-native';\nimport Button from 'react-native-button';\nimport {Actions} from 'react-native-router-flux';\n\nconst propTypes = {\n  name: PropTypes.string.isRequired,\n  data: PropTypes.string,\n  sceneStyle: ViewPropTypes.style,\n  title: PropTypes.string.isRequired,\n};\n\nconst defaultProps = {\n  sceneStyle: null,\n};\n\nconst styles = StyleSheet.create({\n  container: {\n    flex: 1,\n    justifyContent: 'center',\n    alignItems: 'center',\n    backgroundColor: 'transparent',\n    borderWidth: 2,\n    borderColor: 'red',\n  },\n});\n\nclass TabView extends React.Component {\n  state = {hideNavBar: false, hideTabBar: false};\n\n  toggleNavBar = () => {\n    this.setState(\n      prevState => ({hideNavBar: !prevState.hideNavBar}),\n      () => Actions.refresh({hideNavBar: this.state.hideNavBar}),\n    );\n  };\n\n  toggleTabBar = () => {\n    this.setState(\n      prevState => ({hideTabBar: !prevState.hideTabBar}),\n      () => {\n        Actions.refresh(\n          {\n            hideTabBar: this.state.hideTabBar,\n          },\n          'tab_2',\n        );\n      },\n    );\n  };\n\n  render() {\n    return (\n      <View style={[styles.container, this.props.sceneStyle]}>\n        <Text>\n          Tab title:\n          {this.props.title} name:\n          {this.props.name}\n        </Text>\n        <Text>Tab data: {this.props.data}</Text>\n        {this.props.name === 'tab_1_1' && (\n          <Button onPress={() => Actions.tab_1_2()}>\n            next screen for tab1_1\n          </Button>\n        )}\n        {this.props.name === 'tab_2_1' && (\n          <Button onPress={() => Actions.tab_2_2()}>\n            next screen for tab2_1\n          </Button>\n        )}\n        <Button onPress={Actions.pop}>Back</Button>\n        <Button\n          onPress={() => {\n            Actions.tab_1();\n          }}>\n          Switch to tab1\n        </Button>\n        <Button\n          onPress={() => {\n            Actions.tab_2();\n          }}>\n          Switch to tab2\n        </Button>\n        <Button\n          onPress={() => {\n            Actions.tab_3();\n          }}>\n          Switch to tab3\n        </Button>\n        <Button\n          onPress={() => {\n            Actions.tab_4_1();\n          }}>\n          Switch to tab4\n        </Button>\n        <Button\n          onPress={() => {\n            Actions.tab_5_1({data: 'test!'});\n          }}>\n          Switch to tab5 with data\n        </Button>\n        <Button\n          onPress={() => {\n            Actions.echo();\n          }}>\n          push clone scene (EchoView)\n        </Button>\n        <Button\n          onPress={() => {\n            this.toggleNavBar();\n          }}>\n          Toggle NavBar\n        </Button>\n        <Button\n          onPress={() => {\n            Actions.replace('tab_2_1');\n          }}>\n          Replace with tab2\n        </Button>\n        {this.props.name === 'tab_2_1' && (\n          <Button onPress={this.toggleTabBar}>Toggle TabBar</Button>\n        )}\n      </View>\n    );\n  }\n}\nTabView.propTypes = propTypes;\nTabView.defaultProps = defaultProps;\n\nexport default TabView;\n"
  },
  {
    "path": "examples/react-native/components/drawer/DrawerContent.js",
    "content": "import React from 'react';\nimport PropTypes from 'prop-types';\nimport {StyleSheet, Text, View, ViewPropTypes} from 'react-native';\nimport Button from 'react-native-button';\nimport {Actions} from 'react-native-router-flux';\n\nconst styles = StyleSheet.create({\n  container: {\n    flex: 1,\n    justifyContent: 'center',\n    alignItems: 'center',\n    backgroundColor: 'transparent',\n    borderWidth: 2,\n    borderColor: 'red',\n  },\n});\n\nclass DrawerContent extends React.Component {\n  static propTypes = {\n    name: PropTypes.string,\n    sceneStyle: ViewPropTypes.style,\n    title: PropTypes.string,\n  };\n\n  static contextTypes = {\n    drawer: PropTypes.object,\n  };\n\n  render() {\n    return (\n      <View style={styles.container}>\n        {/* <Text>Drawer Content</Text>\n        <Button onPress={Actions.closeDrawer}>Back</Button> */}\n        <Text>Title: {this.props.title}</Text>\n        {this.props.name === 'tab_1_1' && (\n          <Button onPress={Actions.tab_1_2}>next screen for tab1_1</Button>\n        )}\n        {this.props.name === 'tab_2_1' && (\n          <Button onPress={Actions.tab_2_2}>next screen for tab2_1</Button>\n        )}\n        <Button onPress={Actions.pop}>Back</Button>\n        <Button onPress={Actions.tab_1}>Switch to tab1</Button>\n        <Button onPress={Actions.tab_2}>Switch to tab2</Button>\n        <Button onPress={Actions.tab_3}>Switch to tab3</Button>\n        <Button onPress={Actions.tab_4_1}>Switch to tab4</Button>\n        <Button\n          onPress={() => {\n            Actions.___tab_5({data: 'test!'});\n          }}>\n          Switch to tab5 with data\n        </Button>\n        <Button onPress={Actions.echo}>Push Clone Scene (EchoView)</Button>\n        <Button onPress={Actions.launch}>Reset back to launch</Button>\n      </View>\n    );\n  }\n}\n\nexport default DrawerContent;\n"
  },
  {
    "path": "examples/react-native/components/lightbox/BaseLightbox.js",
    "content": "import React, {Component} from 'react';\nimport PropTypes from 'prop-types';\nimport {View, StyleSheet, Animated, Dimensions, Button} from 'react-native';\nimport {Actions} from 'react-native-router-flux';\n\nconst {height: deviceHeight, width: deviceWidth} = Dimensions.get('window');\n\nexport default class BaseLightbox extends Component {\n  static propTypes = {\n    children: PropTypes.any,\n    horizontalPercent: PropTypes.number,\n    verticalPercent: PropTypes.number,\n  };\n\n  constructor(props) {\n    super(props);\n\n    this.state = {\n      opacity: new Animated.Value(0),\n    };\n  }\n\n  componentDidMount() {\n    Animated.timing(this.state.opacity, {\n      duration: 500,\n      toValue: 1,\n    }).start();\n  }\n\n  closeModal = () => {\n    Animated.timing(this.state.opacity, {\n      duration: 500,\n      toValue: 0,\n    }).start(Actions.pop);\n  };\n\n  _renderLightBox = () => {\n    const {children, horizontalPercent = 1, verticalPercent = 1} = this.props;\n    const height = verticalPercent\n      ? deviceHeight * verticalPercent\n      : deviceHeight;\n    const width = horizontalPercent\n      ? deviceWidth * horizontalPercent\n      : deviceWidth;\n    return (\n      <View\n        style={{\n          width,\n          height,\n          justifyContent: 'center',\n          alignItems: 'center',\n          backgroundColor: 'rgba(255,255,255,0.9)',\n        }}>\n        {children}\n        <Button title=\"Close\" onPress={this.closeModal} />\n      </View>\n    );\n  };\n\n  render() {\n    return (\n      <Animated.View style={[styles.container, {opacity: this.state.opacity}]}>\n        {this._renderLightBox()}\n      </Animated.View>\n    );\n  }\n}\n\nconst styles = StyleSheet.create({\n  container: {\n    backgroundColor: 'rgba(52,52,52,0.5)',\n    position: 'absolute',\n    top: 0,\n    bottom: 0,\n    left: 0,\n    right: 0,\n    justifyContent: 'center',\n    alignItems: 'center',\n  },\n});\n"
  },
  {
    "path": "examples/react-native/components/lightbox/DemoLightbox.js",
    "content": "import React from 'react';\nimport {Text} from 'react-native';\n\nimport Lightbox from './BaseLightbox';\n\nconst DemoLightbox = ({data, children}) => (\n  <Lightbox verticalPercent={0.5} horizontalPercent={0.9}>\n    <Text>Demo Lightbox: {data}</Text>\n    <Text>Allows transparency for background</Text>\n  </Lightbox>\n);\n\nexport default DemoLightbox;\n"
  },
  {
    "path": "examples/react-native/components/modal/BaseModal.js",
    "content": "import React from 'react';\nimport PropTypes from 'prop-types';\nimport {\n  View,\n  Text,\n  TouchableOpacity,\n  StyleSheet,\n  Dimensions,\n} from 'react-native';\nimport {Actions} from 'react-native-router-flux';\n\nconst {height: deviceHeight, width: deviceWidth} = Dimensions.get('window');\n\nconst BaseModal = ({\n  children,\n  verticalPercent,\n  horizontalPercent,\n  hideClose,\n}) => {\n  const height = verticalPercent\n    ? deviceHeight * verticalPercent\n    : deviceHeight;\n  const width = horizontalPercent\n    ? deviceHeight * horizontalPercent\n    : deviceWidth;\n\n  const renderClose = () => {\n    if (hideClose) {\n      return null;\n    }\n    return (\n      <View style={styles.closeBtnContainer}>\n        <TouchableOpacity onPress={Actions.pop}>\n          <Text>Close</Text>\n        </TouchableOpacity>\n      </View>\n    );\n  };\n\n  return (\n    <View style={[styles.container, {height, width}]}>\n      {renderClose()}\n      {children}\n    </View>\n  );\n};\n\nBaseModal.propTypes = {\n  children: PropTypes.any,\n  verticalPercent: PropTypes.number,\n  horizontalPercent: PropTypes.number,\n  hideClose: PropTypes.bool,\n};\n\nconst styles = StyleSheet.create({\n  container: {\n    position: 'absolute',\n    top: 0,\n    bottom: 0,\n    left: 0,\n    right: 0,\n    backgroundColor: '#FFF',\n  },\n  closeBtnContainer: {\n    paddingTop: 20,\n    flexDirection: 'row',\n    justifyContent: 'flex-end',\n    paddingHorizontal: 10,\n  },\n});\n\nexport default BaseModal;\n"
  },
  {
    "path": "examples/react-native/components/modal/ErrorModal.js",
    "content": "import React from 'react';\nimport {StyleSheet, Text, View, Button} from 'react-native';\nimport {Actions} from 'react-native-router-flux';\nimport Modal from './BaseModal';\n\nconst styles = StyleSheet.create({\n  container: {\n    justifyContent: 'center',\n    alignItems: 'center',\n    marginHorizontal: 20,\n  },\n});\n\nconst ErrorModal = () => (\n  <Modal hideClose>\n    <View flex={1} style={styles.container}>\n      <Text>Error Modal</Text>\n      <Text>\n        Slides up from the bottom, and covers the entire screen with no\n        transparency\n      </Text>\n      <Button title=\"Close\" onPress={Actions.pop} />\n    </View>\n  </Modal>\n);\n\nexport default ErrorModal;\n"
  },
  {
    "path": "examples/react-native/index.js",
    "content": "/**\n * @format\n */\n\nimport {AppRegistry} from 'react-native';\nimport App from './App';\nimport {name as appName} from './app.json';\n\nAppRegistry.registerComponent(appName, () => App);\n"
  },
  {
    "path": "examples/react-native/ios/Example/AppDelegate.h",
    "content": "#import <React/RCTBridgeDelegate.h>\n#import <UIKit/UIKit.h>\n\n@interface AppDelegate : UIResponder <UIApplicationDelegate, RCTBridgeDelegate>\n\n@property (nonatomic, strong) UIWindow *window;\n\n@end\n"
  },
  {
    "path": "examples/react-native/ios/Example/AppDelegate.m",
    "content": "#import \"AppDelegate.h\"\n\n#import <React/RCTBridge.h>\n#import <React/RCTBundleURLProvider.h>\n#import <React/RCTRootView.h>\n\n#ifdef FB_SONARKIT_ENABLED\n#import <FlipperKit/FlipperClient.h>\n#import <FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h>\n#import <FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h>\n#import <FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h>\n#import <SKIOSNetworkPlugin/SKIOSNetworkAdapter.h>\n#import <FlipperKitReactPlugin/FlipperKitReactPlugin.h>\n\nstatic void InitializeFlipper(UIApplication *application) {\n  FlipperClient *client = [FlipperClient sharedClient];\n  SKDescriptorMapper *layoutDescriptorMapper = [[SKDescriptorMapper alloc] initWithDefaults];\n  [client addPlugin:[[FlipperKitLayoutPlugin alloc] initWithRootNode:application withDescriptorMapper:layoutDescriptorMapper]];\n  [client addPlugin:[[FKUserDefaultsPlugin alloc] initWithSuiteName:nil]];\n  [client addPlugin:[FlipperKitReactPlugin new]];\n  [client addPlugin:[[FlipperKitNetworkPlugin alloc] initWithNetworkAdapter:[SKIOSNetworkAdapter new]]];\n  [client start];\n}\n#endif\n\n@implementation AppDelegate\n\n- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions\n{\n#ifdef FB_SONARKIT_ENABLED\n  InitializeFlipper(application);\n#endif\n\n  RCTBridge *bridge = [[RCTBridge alloc] initWithDelegate:self launchOptions:launchOptions];\n  RCTRootView *rootView = [[RCTRootView alloc] initWithBridge:bridge\n                                                   moduleName:@\"Example\"\n                                            initialProperties:nil];\n\n  rootView.backgroundColor = [[UIColor alloc] initWithRed:1.0f green:1.0f blue:1.0f alpha:1];\n\n  self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];\n  UIViewController *rootViewController = [UIViewController new];\n  rootViewController.view = rootView;\n  self.window.rootViewController = rootViewController;\n  [self.window makeKeyAndVisible];\n  return YES;\n}\n\n- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge\n{\n#if DEBUG\n  return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@\"index\" fallbackResource:nil];\n#else\n  return [[NSBundle mainBundle] URLForResource:@\"main\" withExtension:@\"jsbundle\"];\n#endif\n}\n\n@end\n"
  },
  {
    "path": "examples/react-native/ios/Example/Base.lproj/LaunchScreen.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" version=\"3.0\" toolsVersion=\"7702\" systemVersion=\"14D136\" targetRuntime=\"iOS.CocoaTouch\" propertyAccessControl=\"none\" useAutolayout=\"YES\" launchScreen=\"YES\" useTraitCollections=\"YES\">\n    <dependencies>\n        <deployment identifier=\"iOS\"/>\n        <plugIn identifier=\"com.apple.InterfaceBuilder.IBCocoaTouchPlugin\" version=\"7701\"/>\n        <capability name=\"Constraints with non-1.0 multipliers\" minToolsVersion=\"5.1\"/>\n    </dependencies>\n    <objects>\n        <placeholder placeholderIdentifier=\"IBFilesOwner\" id=\"-1\" userLabel=\"File's Owner\"/>\n        <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"-2\" customClass=\"UIResponder\"/>\n        <view contentMode=\"scaleToFill\" id=\"iN0-l3-epB\">\n            <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"480\" height=\"480\"/>\n            <autoresizingMask key=\"autoresizingMask\" widthSizable=\"YES\" heightSizable=\"YES\"/>\n            <subviews>\n                <label opaque=\"NO\" clipsSubviews=\"YES\" userInteractionEnabled=\"NO\" contentMode=\"left\" horizontalHuggingPriority=\"251\" verticalHuggingPriority=\"251\" text=\"Powered by React Native\" textAlignment=\"center\" lineBreakMode=\"tailTruncation\" baselineAdjustment=\"alignBaselines\" minimumFontSize=\"9\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"8ie-xW-0ye\">\n                    <rect key=\"frame\" x=\"20\" y=\"439\" width=\"441\" height=\"21\"/>\n                    <fontDescription key=\"fontDescription\" type=\"system\" pointSize=\"17\"/>\n                    <color key=\"textColor\" cocoaTouchSystemColor=\"darkTextColor\"/>\n                    <nil key=\"highlightedColor\"/>\n                </label>\n                <label opaque=\"NO\" clipsSubviews=\"YES\" userInteractionEnabled=\"NO\" contentMode=\"left\" horizontalHuggingPriority=\"251\" verticalHuggingPriority=\"251\" text=\"Example\" textAlignment=\"center\" lineBreakMode=\"middleTruncation\" baselineAdjustment=\"alignBaselines\" minimumFontSize=\"18\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"kId-c2-rCX\">\n                    <rect key=\"frame\" x=\"20\" y=\"140\" width=\"441\" height=\"43\"/>\n                    <fontDescription key=\"fontDescription\" type=\"boldSystem\" pointSize=\"36\"/>\n                    <color key=\"textColor\" cocoaTouchSystemColor=\"darkTextColor\"/>\n                    <nil key=\"highlightedColor\"/>\n                </label>\n            </subviews>\n            <color key=\"backgroundColor\" white=\"1\" alpha=\"1\" colorSpace=\"custom\" customColorSpace=\"calibratedWhite\"/>\n            <constraints>\n                <constraint firstItem=\"kId-c2-rCX\" firstAttribute=\"centerY\" secondItem=\"iN0-l3-epB\" secondAttribute=\"bottom\" multiplier=\"1/3\" constant=\"1\" id=\"5cJ-9S-tgC\"/>\n                <constraint firstAttribute=\"centerX\" secondItem=\"kId-c2-rCX\" secondAttribute=\"centerX\" id=\"Koa-jz-hwk\"/>\n                <constraint firstAttribute=\"bottom\" secondItem=\"8ie-xW-0ye\" secondAttribute=\"bottom\" constant=\"20\" id=\"Kzo-t9-V3l\"/>\n                <constraint firstItem=\"8ie-xW-0ye\" firstAttribute=\"leading\" secondItem=\"iN0-l3-epB\" secondAttribute=\"leading\" constant=\"20\" symbolic=\"YES\" id=\"MfP-vx-nX0\"/>\n                <constraint firstAttribute=\"centerX\" secondItem=\"8ie-xW-0ye\" secondAttribute=\"centerX\" id=\"ZEH-qu-HZ9\"/>\n                <constraint firstItem=\"kId-c2-rCX\" firstAttribute=\"leading\" secondItem=\"iN0-l3-epB\" secondAttribute=\"leading\" constant=\"20\" symbolic=\"YES\" id=\"fvb-Df-36g\"/>\n            </constraints>\n            <nil key=\"simulatedStatusBarMetrics\"/>\n            <freeformSimulatedSizeMetrics key=\"simulatedDestinationMetrics\"/>\n            <point key=\"canvasLocation\" x=\"548\" y=\"455\"/>\n        </view>\n    </objects>\n</document>\n"
  },
  {
    "path": "examples/react-native/ios/Example/Images.xcassets/AppIcon.appiconset/Contents.json",
    "content": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"29x29\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"29x29\",\n      \"scale\" : \"3x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"40x40\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"40x40\",\n      \"scale\" : \"3x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"60x60\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"60x60\",\n      \"scale\" : \"3x\"\n    }\n  ],\n  \"info\" : {\n    \"version\" : 1,\n    \"author\" : \"xcode\"\n  }\n}"
  },
  {
    "path": "examples/react-native/ios/Example/Images.xcassets/Contents.json",
    "content": "{\n  \"info\" : {\n    \"version\" : 1,\n    \"author\" : \"xcode\"\n  }\n}\n"
  },
  {
    "path": "examples/react-native/ios/Example/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleDisplayName</key>\n\t<string>Example</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n\t<key>LSRequiresIPhoneOS</key>\n\t<true/>\n\t<key>NSAppTransportSecurity</key>\n\t<dict>\n\t\t<key>NSAllowsArbitraryLoads</key>\n\t\t<true/>\n\t\t<key>NSExceptionDomains</key>\n\t\t<dict>\n\t\t\t<key>localhost</key>\n\t\t\t<dict>\n\t\t\t\t<key>NSExceptionAllowsInsecureHTTPLoads</key>\n\t\t\t\t<true/>\n\t\t\t</dict>\n\t\t</dict>\n\t</dict>\n\t<key>NSLocationWhenInUseUsageDescription</key>\n\t<string></string>\n\t<key>UILaunchStoryboardName</key>\n\t<string>LaunchScreen</string>\n\t<key>UIRequiredDeviceCapabilities</key>\n\t<array>\n\t\t<string>armv7</string>\n\t</array>\n\t<key>UISupportedInterfaceOrientations</key>\n\t<array>\n\t\t<string>UIInterfaceOrientationPortrait</string>\n\t\t<string>UIInterfaceOrientationLandscapeLeft</string>\n\t\t<string>UIInterfaceOrientationLandscapeRight</string>\n\t</array>\n\t<key>UIViewControllerBasedStatusBarAppearance</key>\n\t<false/>\n</dict>\n</plist>\n"
  },
  {
    "path": "examples/react-native/ios/Example/LaunchScreen.storyboard",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB\" version=\"3.0\" toolsVersion=\"15702\" targetRuntime=\"iOS.CocoaTouch\" propertyAccessControl=\"none\" useAutolayout=\"YES\" launchScreen=\"YES\" useTraitCollections=\"YES\" useSafeAreas=\"YES\" colorMatched=\"YES\" initialViewController=\"01J-lp-oVM\">\n    <device id=\"retina4_7\" orientation=\"portrait\" appearance=\"light\"/>\n    <dependencies>\n        <deployment identifier=\"iOS\"/>\n        <plugIn identifier=\"com.apple.InterfaceBuilder.IBCocoaTouchPlugin\" version=\"15704\"/>\n        <capability name=\"Safe area layout guides\" minToolsVersion=\"9.0\"/>\n        <capability name=\"documents saved in the Xcode 8 format\" minToolsVersion=\"8.0\"/>\n    </dependencies>\n    <scenes>\n        <!--View Controller-->\n        <scene sceneID=\"EHf-IW-A2E\">\n            <objects>\n                <viewController id=\"01J-lp-oVM\" sceneMemberID=\"viewController\">\n                    <view key=\"view\" contentMode=\"scaleToFill\" id=\"Ze5-6b-2t3\">\n                        <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"375\" height=\"667\"/>\n                        <autoresizingMask key=\"autoresizingMask\" widthSizable=\"YES\" heightSizable=\"YES\"/>\n                        <subviews>\n                            <label opaque=\"NO\" clipsSubviews=\"YES\" userInteractionEnabled=\"NO\" contentMode=\"left\" horizontalHuggingPriority=\"251\" verticalHuggingPriority=\"251\" text=\"\" textAlignment=\"center\" lineBreakMode=\"tailTruncation\" baselineAdjustment=\"alignBaselines\" minimumFontSize=\"9\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"obG-Y5-kRd\">\n                                <rect key=\"frame\" x=\"0.0\" y=\"647\" width=\"375\" height=\"0.0\"/>\n                                <fontDescription key=\"fontDescription\" type=\"system\" pointSize=\"17\"/>\n                                <color key=\"textColor\" red=\"0.0\" green=\"0.0\" blue=\"0.0\" alpha=\"1\" colorSpace=\"custom\" customColorSpace=\"sRGB\"/>\n                                <nil key=\"highlightedColor\"/>\n                            </label>\n                            <label opaque=\"NO\" clipsSubviews=\"YES\" userInteractionEnabled=\"NO\" contentMode=\"left\" horizontalHuggingPriority=\"251\" verticalHuggingPriority=\"251\" text=\"Example\" textAlignment=\"center\" lineBreakMode=\"middleTruncation\" baselineAdjustment=\"alignBaselines\" minimumFontSize=\"18\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"GJd-Yh-RWb\">\n                                <rect key=\"frame\" x=\"0.0\" y=\"202\" width=\"375\" height=\"43\"/>\n                                <fontDescription key=\"fontDescription\" type=\"boldSystem\" pointSize=\"36\"/>\n                                <color key=\"textColor\" red=\"0.0\" green=\"0.0\" blue=\"0.0\" alpha=\"1\" colorSpace=\"custom\" customColorSpace=\"sRGB\"/>\n                                <nil key=\"highlightedColor\"/>\n                            </label>\n                            <label opaque=\"NO\" clipsSubviews=\"YES\" userInteractionEnabled=\"NO\" contentMode=\"left\" horizontalHuggingPriority=\"251\" verticalHuggingPriority=\"251\" text=\"Powered by React Native\" textAlignment=\"center\" lineBreakMode=\"tailTruncation\" baselineAdjustment=\"alignBaselines\" minimumFontSize=\"9\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"MN2-I3-ftu\">\n                                <rect key=\"frame\" x=\"0.0\" y=\"626\" width=\"375\" height=\"21\"/>\n                                <fontDescription key=\"fontDescription\" type=\"system\" pointSize=\"17\"/>\n                                <color key=\"textColor\" cocoaTouchSystemColor=\"darkTextColor\"/>\n                                <nil key=\"highlightedColor\"/>\n                            </label>\n                        </subviews>\n                        <color key=\"backgroundColor\" red=\"1\" green=\"1\" blue=\"1\" alpha=\"1\" colorSpace=\"custom\" customColorSpace=\"sRGB\"/>\n                        <constraints>\n                            <constraint firstItem=\"Bcu-3y-fUS\" firstAttribute=\"centerX\" secondItem=\"obG-Y5-kRd\" secondAttribute=\"centerX\" id=\"5cz-MP-9tL\"/>\n                            <constraint firstItem=\"Bcu-3y-fUS\" firstAttribute=\"bottom\" secondItem=\"MN2-I3-ftu\" secondAttribute=\"bottom\" constant=\"20\" id=\"OZV-Vh-mqD\"/>\n                            <constraint firstItem=\"Bcu-3y-fUS\" firstAttribute=\"centerX\" secondItem=\"GJd-Yh-RWb\" secondAttribute=\"centerX\" id=\"Q3B-4B-g5h\"/>\n                            <constraint firstItem=\"obG-Y5-kRd\" firstAttribute=\"leading\" secondItem=\"Bcu-3y-fUS\" secondAttribute=\"leading\" symbolic=\"YES\" id=\"SfN-ll-jLj\"/>\n                            <constraint firstAttribute=\"bottom\" secondItem=\"obG-Y5-kRd\" secondAttribute=\"bottom\" constant=\"20\" id=\"Y44-ml-fuU\"/>\n                            <constraint firstItem=\"MN2-I3-ftu\" firstAttribute=\"centerX\" secondItem=\"Bcu-3y-fUS\" secondAttribute=\"centerX\" id=\"akx-eg-2ui\"/>\n                            <constraint firstItem=\"MN2-I3-ftu\" firstAttribute=\"leading\" secondItem=\"Bcu-3y-fUS\" secondAttribute=\"leading\" id=\"i1E-0Y-4RG\"/>\n                            <constraint firstItem=\"GJd-Yh-RWb\" firstAttribute=\"centerY\" secondItem=\"Ze5-6b-2t3\" secondAttribute=\"bottom\" multiplier=\"1/3\" constant=\"1\" id=\"moa-c2-u7t\"/>\n                            <constraint firstItem=\"GJd-Yh-RWb\" firstAttribute=\"leading\" secondItem=\"Bcu-3y-fUS\" secondAttribute=\"leading\" symbolic=\"YES\" id=\"x7j-FC-K8j\"/>\n                        </constraints>\n                        <viewLayoutGuide key=\"safeArea\" id=\"Bcu-3y-fUS\"/>\n                    </view>\n                </viewController>\n                <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"iYj-Kq-Ea1\" userLabel=\"First Responder\" sceneMemberID=\"firstResponder\"/>\n            </objects>\n            <point key=\"canvasLocation\" x=\"52.173913043478265\" y=\"375\"/>\n        </scene>\n    </scenes>\n</document>\n"
  },
  {
    "path": "examples/react-native/ios/Example/main.m",
    "content": "#import <UIKit/UIKit.h>\n\n#import \"AppDelegate.h\"\n\nint main(int argc, char * argv[]) {\n  @autoreleasepool {\n    return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));\n  }\n}\n"
  },
  {
    "path": "examples/react-native/ios/Example-tvOS/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n\t<key>LSRequiresIPhoneOS</key>\n\t<true/>\n\t<key>NSAppTransportSecurity</key>\n\t<dict>\n\t\t<key>NSExceptionDomains</key>\n\t\t<dict>\n\t\t\t<key>localhost</key>\n\t\t\t<dict>\n\t\t\t\t<key>NSExceptionAllowsInsecureHTTPLoads</key>\n\t\t\t\t<true/>\n\t\t\t</dict>\n\t\t</dict>\n\t</dict>\n\t<key>NSLocationWhenInUseUsageDescription</key>\n\t<string></string>\n\t<key>UILaunchStoryboardName</key>\n\t<string>LaunchScreen</string>\n\t<key>UIRequiredDeviceCapabilities</key>\n\t<array>\n\t\t<string>armv7</string>\n\t</array>\n\t<key>UISupportedInterfaceOrientations</key>\n\t<array>\n\t\t<string>UIInterfaceOrientationPortrait</string>\n\t\t<string>UIInterfaceOrientationLandscapeLeft</string>\n\t\t<string>UIInterfaceOrientationLandscapeRight</string>\n\t</array>\n\t<key>UIViewControllerBasedStatusBarAppearance</key>\n\t<false/>\n</dict>\n</plist>\n"
  },
  {
    "path": "examples/react-native/ios/Example-tvOSTests/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>BNDL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "examples/react-native/ios/Example.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t00E356F31AD99517003FC87E /* ExampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* ExampleTests.m */; };\n\t\t13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; };\n\t\t13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };\n\t\t13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };\n\t\t2D02E4BC1E0B4A80006451C7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; };\n\t\t2D02E4BD1E0B4A84006451C7 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };\n\t\t2D02E4BF1E0B4AB3006451C7 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };\n\t\t2DCD954D1E0B4F2C00145EB5 /* ExampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* ExampleTests.m */; };\n\t\t42AA1EB6ADB17BB1AE600AF6 /* libPods-Example.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A48116BCB97C2340D6D31FF4 /* libPods-Example.a */; };\n\t\t81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; };\n\t\t8DF9B11DAA3B79A41A2A4F73 /* libPods-Example-ExampleTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43E979BC2574338FA69AE501 /* libPods-Example-ExampleTests.a */; };\n\t\tA3000FD2286B9A59DE5C1EDE /* libPods-Example-tvOSTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 663F98B4327669C9C79A1847 /* libPods-Example-tvOSTests.a */; };\n\t\tA97BA19C303185AB21AFF0C4 /* libPods-Example-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C6F4827F9BE0DFF6F9024941 /* libPods-Example-tvOS.a */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXContainerItemProxy section */\n\t\t00E356F41AD99517003FC87E /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = 13B07F861A680F5B00A75B9A;\n\t\t\tremoteInfo = Example;\n\t\t};\n\t\t2D02E4911E0B4A5D006451C7 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = 2D02E47A1E0B4A5D006451C7;\n\t\t\tremoteInfo = \"Example-tvOS\";\n\t\t};\n/* End PBXContainerItemProxy section */\n\n/* Begin PBXFileReference section */\n\t\t008F07F21AC5B25A0029DE68 /* main.jsbundle */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = main.jsbundle; sourceTree = \"<group>\"; };\n\t\t00E356EE1AD99517003FC87E /* ExampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ExampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = \"<group>\"; };\n\t\t00E356F21AD99517003FC87E /* ExampleTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ExampleTests.m; sourceTree = \"<group>\"; };\n\t\t13B07F961A680F5B00A75B9A /* Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Example.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = Example/AppDelegate.h; sourceTree = \"<group>\"; };\n\t\t13B07FB01A68108700A75B9A /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = Example/AppDelegate.m; sourceTree = \"<group>\"; };\n\t\t13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = Example/Images.xcassets; sourceTree = \"<group>\"; };\n\t\t13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = Example/Info.plist; sourceTree = \"<group>\"; };\n\t\t13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = Example/main.m; sourceTree = \"<group>\"; };\n\t\t1B03501F55DF9A1B32C56491 /* Pods-Example-ExampleTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-Example-ExampleTests.debug.xcconfig\"; path = \"Target Support Files/Pods-Example-ExampleTests/Pods-Example-ExampleTests.debug.xcconfig\"; sourceTree = \"<group>\"; };\n\t\t278DEE04295B20F9E615DA15 /* Pods-Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-Example.release.xcconfig\"; path = \"Target Support Files/Pods-Example/Pods-Example.release.xcconfig\"; sourceTree = \"<group>\"; };\n\t\t2D02E47B1E0B4A5D006451C7 /* Example-tvOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = \"Example-tvOS.app\"; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t2D02E4901E0B4A5D006451C7 /* Example-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = \"Example-tvOSTests.xctest\"; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t43E979BC2574338FA69AE501 /* libPods-Example-ExampleTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = \"libPods-Example-ExampleTests.a\"; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t5F316AD0F791D3E0C4361120 /* Pods-Example-tvOSTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-Example-tvOSTests.debug.xcconfig\"; path = \"Target Support Files/Pods-Example-tvOSTests/Pods-Example-tvOSTests.debug.xcconfig\"; sourceTree = \"<group>\"; };\n\t\t663F98B4327669C9C79A1847 /* libPods-Example-tvOSTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = \"libPods-Example-tvOSTests.a\"; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = Example/LaunchScreen.storyboard; sourceTree = \"<group>\"; };\n\t\t8FC3706A7356790DFFC2C035 /* Pods-Example-tvOSTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-Example-tvOSTests.release.xcconfig\"; path = \"Target Support Files/Pods-Example-tvOSTests/Pods-Example-tvOSTests.release.xcconfig\"; sourceTree = \"<group>\"; };\n\t\t935B34490AED3030731BC79E /* Pods-Example-tvOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-Example-tvOS.debug.xcconfig\"; path = \"Target Support Files/Pods-Example-tvOS/Pods-Example-tvOS.debug.xcconfig\"; sourceTree = \"<group>\"; };\n\t\t9BC58232D3145D421AB645D6 /* Pods-Example-ExampleTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-Example-ExampleTests.release.xcconfig\"; path = \"Target Support Files/Pods-Example-ExampleTests/Pods-Example-ExampleTests.release.xcconfig\"; sourceTree = \"<group>\"; };\n\t\tA48116BCB97C2340D6D31FF4 /* libPods-Example.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = \"libPods-Example.a\"; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tB31B89F9D758C39E35A390BC /* Pods-Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-Example.debug.xcconfig\"; path = \"Target Support Files/Pods-Example/Pods-Example.debug.xcconfig\"; sourceTree = \"<group>\"; };\n\t\tC6F4827F9BE0DFF6F9024941 /* libPods-Example-tvOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = \"libPods-Example-tvOS.a\"; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tE3AB1718A08077B832624725 /* Pods-Example-tvOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-Example-tvOS.release.xcconfig\"; path = \"Target Support Files/Pods-Example-tvOS/Pods-Example-tvOS.release.xcconfig\"; sourceTree = \"<group>\"; };\n\t\tED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };\n\t\tED2971642150620600B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS12.0.sdk/System/Library/Frameworks/JavaScriptCore.framework; sourceTree = DEVELOPER_DIR; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\t00E356EB1AD99517003FC87E /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t8DF9B11DAA3B79A41A2A4F73 /* libPods-Example-ExampleTests.a in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t13B07F8C1A680F5B00A75B9A /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t42AA1EB6ADB17BB1AE600AF6 /* libPods-Example.a in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t2D02E4781E0B4A5D006451C7 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tA97BA19C303185AB21AFF0C4 /* libPods-Example-tvOS.a in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t2D02E48D1E0B4A5D006451C7 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tA3000FD2286B9A59DE5C1EDE /* libPods-Example-tvOSTests.a in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\t00E356EF1AD99517003FC87E /* ExampleTests */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t00E356F21AD99517003FC87E /* ExampleTests.m */,\n\t\t\t\t00E356F01AD99517003FC87E /* Supporting Files */,\n\t\t\t);\n\t\t\tpath = ExampleTests;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t00E356F01AD99517003FC87E /* Supporting Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t00E356F11AD99517003FC87E /* Info.plist */,\n\t\t\t);\n\t\t\tname = \"Supporting Files\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t13B07FAE1A68108700A75B9A /* Example */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t008F07F21AC5B25A0029DE68 /* main.jsbundle */,\n\t\t\t\t13B07FAF1A68108700A75B9A /* AppDelegate.h */,\n\t\t\t\t13B07FB01A68108700A75B9A /* AppDelegate.m */,\n\t\t\t\t13B07FB51A68108700A75B9A /* Images.xcassets */,\n\t\t\t\t13B07FB61A68108700A75B9A /* Info.plist */,\n\t\t\t\t81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */,\n\t\t\t\t13B07FB71A68108700A75B9A /* main.m */,\n\t\t\t);\n\t\t\tname = Example;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t2D16E6871FA4F8E400B85C8A /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tED297162215061F000B7C4FE /* JavaScriptCore.framework */,\n\t\t\t\tED2971642150620600B7C4FE /* JavaScriptCore.framework */,\n\t\t\t\tA48116BCB97C2340D6D31FF4 /* libPods-Example.a */,\n\t\t\t\t43E979BC2574338FA69AE501 /* libPods-Example-ExampleTests.a */,\n\t\t\t\tC6F4827F9BE0DFF6F9024941 /* libPods-Example-tvOS.a */,\n\t\t\t\t663F98B4327669C9C79A1847 /* libPods-Example-tvOSTests.a */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t8198AA30025D7A378F00B26F /* Pods */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tB31B89F9D758C39E35A390BC /* Pods-Example.debug.xcconfig */,\n\t\t\t\t278DEE04295B20F9E615DA15 /* Pods-Example.release.xcconfig */,\n\t\t\t\t1B03501F55DF9A1B32C56491 /* Pods-Example-ExampleTests.debug.xcconfig */,\n\t\t\t\t9BC58232D3145D421AB645D6 /* Pods-Example-ExampleTests.release.xcconfig */,\n\t\t\t\t935B34490AED3030731BC79E /* Pods-Example-tvOS.debug.xcconfig */,\n\t\t\t\tE3AB1718A08077B832624725 /* Pods-Example-tvOS.release.xcconfig */,\n\t\t\t\t5F316AD0F791D3E0C4361120 /* Pods-Example-tvOSTests.debug.xcconfig */,\n\t\t\t\t8FC3706A7356790DFFC2C035 /* Pods-Example-tvOSTests.release.xcconfig */,\n\t\t\t);\n\t\t\tname = Pods;\n\t\t\tpath = Pods;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t832341AE1AAA6A7D00B99B32 /* Libraries */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t);\n\t\t\tname = Libraries;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t83CBB9F61A601CBA00E9B192 = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t13B07FAE1A68108700A75B9A /* Example */,\n\t\t\t\t832341AE1AAA6A7D00B99B32 /* Libraries */,\n\t\t\t\t00E356EF1AD99517003FC87E /* ExampleTests */,\n\t\t\t\t83CBBA001A601CBA00E9B192 /* Products */,\n\t\t\t\t2D16E6871FA4F8E400B85C8A /* Frameworks */,\n\t\t\t\t8198AA30025D7A378F00B26F /* Pods */,\n\t\t\t);\n\t\t\tindentWidth = 2;\n\t\t\tsourceTree = \"<group>\";\n\t\t\ttabWidth = 2;\n\t\t\tusesTabs = 0;\n\t\t};\n\t\t83CBBA001A601CBA00E9B192 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t13B07F961A680F5B00A75B9A /* Example.app */,\n\t\t\t\t00E356EE1AD99517003FC87E /* ExampleTests.xctest */,\n\t\t\t\t2D02E47B1E0B4A5D006451C7 /* Example-tvOS.app */,\n\t\t\t\t2D02E4901E0B4A5D006451C7 /* Example-tvOSTests.xctest */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\t00E356ED1AD99517003FC87E /* ExampleTests */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget \"ExampleTests\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t4B02711254880710E0ECF2A6 /* [CP] Check Pods Manifest.lock */,\n\t\t\t\t00E356EA1AD99517003FC87E /* Sources */,\n\t\t\t\t00E356EB1AD99517003FC87E /* Frameworks */,\n\t\t\t\t00E356EC1AD99517003FC87E /* Resources */,\n\t\t\t\tD2841F53485ABB240DC0A26C /* [CP] Copy Pods Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t\t00E356F51AD99517003FC87E /* PBXTargetDependency */,\n\t\t\t);\n\t\t\tname = ExampleTests;\n\t\t\tproductName = ExampleTests;\n\t\t\tproductReference = 00E356EE1AD99517003FC87E /* ExampleTests.xctest */;\n\t\t\tproductType = \"com.apple.product-type.bundle.unit-test\";\n\t\t};\n\t\t13B07F861A680F5B00A75B9A /* Example */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget \"Example\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t4BE56CF506B61B12AA5BA470 /* [CP] Check Pods Manifest.lock */,\n\t\t\t\tFD10A7F022414F080027D42C /* Start Packager */,\n\t\t\t\t13B07F871A680F5B00A75B9A /* Sources */,\n\t\t\t\t13B07F8C1A680F5B00A75B9A /* Frameworks */,\n\t\t\t\t13B07F8E1A680F5B00A75B9A /* Resources */,\n\t\t\t\t00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */,\n\t\t\t\tAFA60B294041EE2CA4BE1289 /* [CP] Copy Pods Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = Example;\n\t\t\tproductName = Example;\n\t\t\tproductReference = 13B07F961A680F5B00A75B9A /* Example.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n\t\t2D02E47A1E0B4A5D006451C7 /* Example-tvOS */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 2D02E4BA1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget \"Example-tvOS\" */;\n\t\t\tbuildPhases = (\n\t\t\t\tF312BB3604779B34566DD58B /* [CP] Check Pods Manifest.lock */,\n\t\t\t\tFD10A7F122414F3F0027D42C /* Start Packager */,\n\t\t\t\t2D02E4771E0B4A5D006451C7 /* Sources */,\n\t\t\t\t2D02E4781E0B4A5D006451C7 /* Frameworks */,\n\t\t\t\t2D02E4791E0B4A5D006451C7 /* Resources */,\n\t\t\t\t2D02E4CB1E0B4B27006451C7 /* Bundle React Native Code And Images */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = \"Example-tvOS\";\n\t\t\tproductName = \"Example-tvOS\";\n\t\t\tproductReference = 2D02E47B1E0B4A5D006451C7 /* Example-tvOS.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n\t\t2D02E48F1E0B4A5D006451C7 /* Example-tvOSTests */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 2D02E4BB1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget \"Example-tvOSTests\" */;\n\t\t\tbuildPhases = (\n\t\t\t\tD91502A6B9E0B8CCBF7FD1AB /* [CP] Check Pods Manifest.lock */,\n\t\t\t\t2D02E48C1E0B4A5D006451C7 /* Sources */,\n\t\t\t\t2D02E48D1E0B4A5D006451C7 /* Frameworks */,\n\t\t\t\t2D02E48E1E0B4A5D006451C7 /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t\t2D02E4921E0B4A5D006451C7 /* PBXTargetDependency */,\n\t\t\t);\n\t\t\tname = \"Example-tvOSTests\";\n\t\t\tproductName = \"Example-tvOSTests\";\n\t\t\tproductReference = 2D02E4901E0B4A5D006451C7 /* Example-tvOSTests.xctest */;\n\t\t\tproductType = \"com.apple.product-type.bundle.unit-test\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\t83CBB9F71A601CBA00E9B192 /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastUpgradeCheck = 1130;\n\t\t\t\tTargetAttributes = {\n\t\t\t\t\t00E356ED1AD99517003FC87E = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 6.2;\n\t\t\t\t\t\tTestTargetID = 13B07F861A680F5B00A75B9A;\n\t\t\t\t\t};\n\t\t\t\t\t13B07F861A680F5B00A75B9A = {\n\t\t\t\t\t\tLastSwiftMigration = 1120;\n\t\t\t\t\t};\n\t\t\t\t\t2D02E47A1E0B4A5D006451C7 = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 8.2.1;\n\t\t\t\t\t\tProvisioningStyle = Automatic;\n\t\t\t\t\t};\n\t\t\t\t\t2D02E48F1E0B4A5D006451C7 = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 8.2.1;\n\t\t\t\t\t\tProvisioningStyle = Automatic;\n\t\t\t\t\t\tTestTargetID = 2D02E47A1E0B4A5D006451C7;\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t};\n\t\t\tbuildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject \"Example\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = en;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t\tBase,\n\t\t\t);\n\t\t\tmainGroup = 83CBB9F61A601CBA00E9B192;\n\t\t\tproductRefGroup = 83CBBA001A601CBA00E9B192 /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\t13B07F861A680F5B00A75B9A /* Example */,\n\t\t\t\t00E356ED1AD99517003FC87E /* ExampleTests */,\n\t\t\t\t2D02E47A1E0B4A5D006451C7 /* Example-tvOS */,\n\t\t\t\t2D02E48F1E0B4A5D006451C7 /* Example-tvOSTests */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\t00E356EC1AD99517003FC87E /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t13B07F8E1A680F5B00A75B9A /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */,\n\t\t\t\t13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t2D02E4791E0B4A5D006451C7 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t2D02E4BD1E0B4A84006451C7 /* Images.xcassets in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t2D02E48E1E0B4A5D006451C7 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXShellScriptBuildPhase section */\n\t\t00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"Bundle React Native code and images\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"export NODE_BINARY=node\\n../node_modules/react-native/scripts/react-native-xcode.sh\";\n\t\t};\n\t\t2D02E4CB1E0B4B27006451C7 /* Bundle React Native Code And Images */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"Bundle React Native Code And Images\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"export NODE_BINARY=node\\n../node_modules/react-native/scripts/react-native-xcode.sh\";\n\t\t};\n\t\t4B02711254880710E0ECF2A6 /* [CP] Check Pods Manifest.lock */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputFileListPaths = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\",\n\t\t\t\t\"${PODS_ROOT}/Manifest.lock\",\n\t\t\t);\n\t\t\tname = \"[CP] Check Pods Manifest.lock\";\n\t\t\toutputFileListPaths = (\n\t\t\t);\n\t\t\toutputPaths = (\n\t\t\t\t\"$(DERIVED_FILE_DIR)/Pods-Example-ExampleTests-checkManifestLockResult.txt\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"diff \\\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\\\" \\\"${PODS_ROOT}/Manifest.lock\\\" > /dev/null\\nif [ $? != 0 ] ; then\\n    # print error to STDERR\\n    echo \\\"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\\\" >&2\\n    exit 1\\nfi\\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\\necho \\\"SUCCESS\\\" > \\\"${SCRIPT_OUTPUT_FILE_0}\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\t4BE56CF506B61B12AA5BA470 /* [CP] Check Pods Manifest.lock */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputFileListPaths = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\",\n\t\t\t\t\"${PODS_ROOT}/Manifest.lock\",\n\t\t\t);\n\t\t\tname = \"[CP] Check Pods Manifest.lock\";\n\t\t\toutputFileListPaths = (\n\t\t\t);\n\t\t\toutputPaths = (\n\t\t\t\t\"$(DERIVED_FILE_DIR)/Pods-Example-checkManifestLockResult.txt\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"diff \\\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\\\" \\\"${PODS_ROOT}/Manifest.lock\\\" > /dev/null\\nif [ $? != 0 ] ; then\\n    # print error to STDERR\\n    echo \\\"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\\\" >&2\\n    exit 1\\nfi\\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\\necho \\\"SUCCESS\\\" > \\\"${SCRIPT_OUTPUT_FILE_0}\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\tAFA60B294041EE2CA4BE1289 /* [CP] Copy Pods Resources */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${PODS_ROOT}/Target Support Files/Pods-Example/Pods-Example-resources.sh\",\n\t\t\t\t\"${PODS_CONFIGURATION_BUILD_DIR}/React-Core/AccessibilityResources.bundle\",\n\t\t\t);\n\t\t\tname = \"[CP] Copy Pods Resources\";\n\t\t\toutputPaths = (\n\t\t\t\t\"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AccessibilityResources.bundle\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${PODS_ROOT}/Target Support Files/Pods-Example/Pods-Example-resources.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\tD2841F53485ABB240DC0A26C /* [CP] Copy Pods Resources */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${PODS_ROOT}/Target Support Files/Pods-Example-ExampleTests/Pods-Example-ExampleTests-resources.sh\",\n\t\t\t\t\"${PODS_CONFIGURATION_BUILD_DIR}/React-Core/AccessibilityResources.bundle\",\n\t\t\t);\n\t\t\tname = \"[CP] Copy Pods Resources\";\n\t\t\toutputPaths = (\n\t\t\t\t\"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AccessibilityResources.bundle\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${PODS_ROOT}/Target Support Files/Pods-Example-ExampleTests/Pods-Example-ExampleTests-resources.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\tD91502A6B9E0B8CCBF7FD1AB /* [CP] Check Pods Manifest.lock */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputFileListPaths = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\",\n\t\t\t\t\"${PODS_ROOT}/Manifest.lock\",\n\t\t\t);\n\t\t\tname = \"[CP] Check Pods Manifest.lock\";\n\t\t\toutputFileListPaths = (\n\t\t\t);\n\t\t\toutputPaths = (\n\t\t\t\t\"$(DERIVED_FILE_DIR)/Pods-Example-tvOSTests-checkManifestLockResult.txt\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"diff \\\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\\\" \\\"${PODS_ROOT}/Manifest.lock\\\" > /dev/null\\nif [ $? != 0 ] ; then\\n    # print error to STDERR\\n    echo \\\"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\\\" >&2\\n    exit 1\\nfi\\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\\necho \\\"SUCCESS\\\" > \\\"${SCRIPT_OUTPUT_FILE_0}\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\tF312BB3604779B34566DD58B /* [CP] Check Pods Manifest.lock */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputFileListPaths = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\",\n\t\t\t\t\"${PODS_ROOT}/Manifest.lock\",\n\t\t\t);\n\t\t\tname = \"[CP] Check Pods Manifest.lock\";\n\t\t\toutputFileListPaths = (\n\t\t\t);\n\t\t\toutputPaths = (\n\t\t\t\t\"$(DERIVED_FILE_DIR)/Pods-Example-tvOS-checkManifestLockResult.txt\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"diff \\\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\\\" \\\"${PODS_ROOT}/Manifest.lock\\\" > /dev/null\\nif [ $? != 0 ] ; then\\n    # print error to STDERR\\n    echo \\\"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\\\" >&2\\n    exit 1\\nfi\\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\\necho \\\"SUCCESS\\\" > \\\"${SCRIPT_OUTPUT_FILE_0}\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\tFD10A7F022414F080027D42C /* Start Packager */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputFileListPaths = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"Start Packager\";\n\t\t\toutputFileListPaths = (\n\t\t\t);\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"export RCT_METRO_PORT=\\\"${RCT_METRO_PORT:=8081}\\\"\\necho \\\"export RCT_METRO_PORT=${RCT_METRO_PORT}\\\" > \\\"${SRCROOT}/../node_modules/react-native/scripts/.packager.env\\\"\\nif [ -z \\\"${RCT_NO_LAUNCH_PACKAGER+xxx}\\\" ] ; then\\n  if nc -w 5 -z localhost ${RCT_METRO_PORT} ; then\\n    if ! curl -s \\\"http://localhost:${RCT_METRO_PORT}/status\\\" | grep -q \\\"packager-status:running\\\" ; then\\n      echo \\\"Port ${RCT_METRO_PORT} already in use, packager is either not running or not running correctly\\\"\\n      exit 2\\n    fi\\n  else\\n    open \\\"$SRCROOT/../node_modules/react-native/scripts/launchPackager.command\\\" || echo \\\"Can't start packager automatically\\\"\\n  fi\\nfi\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\tFD10A7F122414F3F0027D42C /* Start Packager */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputFileListPaths = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"Start Packager\";\n\t\t\toutputFileListPaths = (\n\t\t\t);\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"export RCT_METRO_PORT=\\\"${RCT_METRO_PORT:=8081}\\\"\\necho \\\"export RCT_METRO_PORT=${RCT_METRO_PORT}\\\" > \\\"${SRCROOT}/../node_modules/react-native/scripts/.packager.env\\\"\\nif [ -z \\\"${RCT_NO_LAUNCH_PACKAGER+xxx}\\\" ] ; then\\n  if nc -w 5 -z localhost ${RCT_METRO_PORT} ; then\\n    if ! curl -s \\\"http://localhost:${RCT_METRO_PORT}/status\\\" | grep -q \\\"packager-status:running\\\" ; then\\n      echo \\\"Port ${RCT_METRO_PORT} already in use, packager is either not running or not running correctly\\\"\\n      exit 2\\n    fi\\n  else\\n    open \\\"$SRCROOT/../node_modules/react-native/scripts/launchPackager.command\\\" || echo \\\"Can't start packager automatically\\\"\\n  fi\\nfi\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n/* End PBXShellScriptBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\t00E356EA1AD99517003FC87E /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t00E356F31AD99517003FC87E /* ExampleTests.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t13B07F871A680F5B00A75B9A /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */,\n\t\t\t\t13B07FC11A68108700A75B9A /* main.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t2D02E4771E0B4A5D006451C7 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t2D02E4BF1E0B4AB3006451C7 /* main.m in Sources */,\n\t\t\t\t2D02E4BC1E0B4A80006451C7 /* AppDelegate.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t2D02E48C1E0B4A5D006451C7 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t2DCD954D1E0B4F2C00145EB5 /* ExampleTests.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXTargetDependency section */\n\t\t00E356F51AD99517003FC87E /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\ttarget = 13B07F861A680F5B00A75B9A /* Example */;\n\t\t\ttargetProxy = 00E356F41AD99517003FC87E /* PBXContainerItemProxy */;\n\t\t};\n\t\t2D02E4921E0B4A5D006451C7 /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\ttarget = 2D02E47A1E0B4A5D006451C7 /* Example-tvOS */;\n\t\t\ttargetProxy = 2D02E4911E0B4A5D006451C7 /* PBXContainerItemProxy */;\n\t\t};\n/* End PBXTargetDependency section */\n\n/* Begin XCBuildConfiguration section */\n\t\t00E356F61AD99517003FC87E /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 1B03501F55DF9A1B32C56491 /* Pods-Example-ExampleTests.debug.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tBUNDLE_LOADER = \"$(TEST_HOST)\";\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tINFOPLIST_FILE = ExampleTests/Info.plist;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 10.0;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tOTHER_LDFLAGS = (\n\t\t\t\t\t\"-ObjC\",\n\t\t\t\t\t\"-lc++\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tTEST_HOST = \"$(BUILT_PRODUCTS_DIR)/Example.app/Example\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t00E356F71AD99517003FC87E /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 9BC58232D3145D421AB645D6 /* Pods-Example-ExampleTests.release.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tBUNDLE_LOADER = \"$(TEST_HOST)\";\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tINFOPLIST_FILE = ExampleTests/Info.plist;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 10.0;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tOTHER_LDFLAGS = (\n\t\t\t\t\t\"-ObjC\",\n\t\t\t\t\t\"-lc++\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tTEST_HOST = \"$(BUILT_PRODUCTS_DIR)/Example.app/Example\";\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t13B07F941A680F5B00A75B9A /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = B31B89F9D758C39E35A390BC /* Pods-Example.debug.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCURRENT_PROJECT_VERSION = 1;\n\t\t\t\tENABLE_BITCODE = NO;\n\t\t\t\tINFOPLIST_FILE = Example/Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks\";\n\t\t\t\tOTHER_LDFLAGS = (\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t\t\"-ObjC\",\n\t\t\t\t\t\"-lc++\",\n\t\t\t\t);\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = Example;\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Onone\";\n\t\t\t\tSWIFT_VERSION = 5.0;\n\t\t\t\tVERSIONING_SYSTEM = \"apple-generic\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t13B07F951A680F5B00A75B9A /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 278DEE04295B20F9E615DA15 /* Pods-Example.release.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCURRENT_PROJECT_VERSION = 1;\n\t\t\t\tINFOPLIST_FILE = Example/Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks\";\n\t\t\t\tOTHER_LDFLAGS = (\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t\t\"-ObjC\",\n\t\t\t\t\t\"-lc++\",\n\t\t\t\t);\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = Example;\n\t\t\t\tSWIFT_VERSION = 5.0;\n\t\t\t\tVERSIONING_SYSTEM = \"apple-generic\";\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t2D02E4971E0B4A5E006451C7 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 935B34490AED3030731BC79E /* Pods-Example-tvOS.debug.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tASSETCATALOG_COMPILER_APPICON_NAME = \"App Icon & Top Shelf Image\";\n\t\t\t\tASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;\n\t\t\t\tCLANG_ANALYZER_NONNULL = YES;\n\t\t\t\tCLANG_WARN_DOCUMENTATION_COMMENTS = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = dwarf;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tINFOPLIST_FILE = \"Example-tvOS/Info.plist\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks\";\n\t\t\t\tOTHER_LDFLAGS = (\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t\t\"-ObjC\",\n\t\t\t\t\t\"-lc++\",\n\t\t\t\t);\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"org.reactjs.native.example.Example-tvOS\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSDKROOT = appletvos;\n\t\t\t\tTARGETED_DEVICE_FAMILY = 3;\n\t\t\t\tTVOS_DEPLOYMENT_TARGET = 10.0;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t2D02E4981E0B4A5E006451C7 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = E3AB1718A08077B832624725 /* Pods-Example-tvOS.release.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tASSETCATALOG_COMPILER_APPICON_NAME = \"App Icon & Top Shelf Image\";\n\t\t\t\tASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;\n\t\t\t\tCLANG_ANALYZER_NONNULL = YES;\n\t\t\t\tCLANG_WARN_DOCUMENTATION_COMMENTS = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tINFOPLIST_FILE = \"Example-tvOS/Info.plist\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks\";\n\t\t\t\tOTHER_LDFLAGS = (\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t\t\"-ObjC\",\n\t\t\t\t\t\"-lc++\",\n\t\t\t\t);\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"org.reactjs.native.example.Example-tvOS\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSDKROOT = appletvos;\n\t\t\t\tTARGETED_DEVICE_FAMILY = 3;\n\t\t\t\tTVOS_DEPLOYMENT_TARGET = 10.0;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t2D02E4991E0B4A5E006451C7 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 5F316AD0F791D3E0C4361120 /* Pods-Example-tvOSTests.debug.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tBUNDLE_LOADER = \"$(TEST_HOST)\";\n\t\t\t\tCLANG_ANALYZER_NONNULL = YES;\n\t\t\t\tCLANG_WARN_DOCUMENTATION_COMMENTS = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = dwarf;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tINFOPLIST_FILE = \"Example-tvOSTests/Info.plist\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tOTHER_LDFLAGS = (\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t\t\"-ObjC\",\n\t\t\t\t\t\"-lc++\",\n\t\t\t\t);\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"org.reactjs.native.example.Example-tvOSTests\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSDKROOT = appletvos;\n\t\t\t\tTEST_HOST = \"$(BUILT_PRODUCTS_DIR)/Example-tvOS.app/Example-tvOS\";\n\t\t\t\tTVOS_DEPLOYMENT_TARGET = 10.1;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t2D02E49A1E0B4A5E006451C7 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 8FC3706A7356790DFFC2C035 /* Pods-Example-tvOSTests.release.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tBUNDLE_LOADER = \"$(TEST_HOST)\";\n\t\t\t\tCLANG_ANALYZER_NONNULL = YES;\n\t\t\t\tCLANG_WARN_DOCUMENTATION_COMMENTS = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tINFOPLIST_FILE = \"Example-tvOSTests/Info.plist\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tOTHER_LDFLAGS = (\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t\t\"-ObjC\",\n\t\t\t\t\t\"-lc++\",\n\t\t\t\t);\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"org.reactjs.native.example.Example-tvOSTests\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSDKROOT = appletvos;\n\t\t\t\tTEST_HOST = \"$(BUILT_PRODUCTS_DIR)/Example-tvOS.app/Example-tvOS\";\n\t\t\t\tTVOS_DEPLOYMENT_TARGET = 10.1;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t83CBBA201A601CBA00E9B192 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_SYMBOLS_PRIVATE_EXTERN = NO;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 10.0;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"/usr/lib/swift $(inherited)\";\n\t\t\t\tLIBRARY_SEARCH_PATHS = (\n\t\t\t\t\t\"\\\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\\\"\",\n\t\t\t\t\t\"\\\"$(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)\\\"\",\n\t\t\t\t\t\"\\\"$(inherited)\\\"\",\n\t\t\t\t);\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = YES;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t83CBBA211A601CBA00E9B192 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = YES;\n\t\t\t\tENABLE_NS_ASSERTIONS = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 10.0;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"/usr/lib/swift $(inherited)\";\n\t\t\t\tLIBRARY_SEARCH_PATHS = (\n\t\t\t\t\t\"\\\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\\\"\",\n\t\t\t\t\t\"\\\"$(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)\\\"\",\n\t\t\t\t\t\"\\\"$(inherited)\\\"\",\n\t\t\t\t);\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = NO;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tVALIDATE_PRODUCT = YES;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\t00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget \"ExampleTests\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t00E356F61AD99517003FC87E /* Debug */,\n\t\t\t\t00E356F71AD99517003FC87E /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget \"Example\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t13B07F941A680F5B00A75B9A /* Debug */,\n\t\t\t\t13B07F951A680F5B00A75B9A /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t2D02E4BA1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget \"Example-tvOS\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t2D02E4971E0B4A5E006451C7 /* Debug */,\n\t\t\t\t2D02E4981E0B4A5E006451C7 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t2D02E4BB1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget \"Example-tvOSTests\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t2D02E4991E0B4A5E006451C7 /* Debug */,\n\t\t\t\t2D02E49A1E0B4A5E006451C7 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject \"Example\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t83CBBA201A601CBA00E9B192 /* Debug */,\n\t\t\t\t83CBBA211A601CBA00E9B192 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = 83CBB9F71A601CBA00E9B192 /* Project object */;\n}\n"
  },
  {
    "path": "examples/react-native/ios/Example.xcodeproj/xcshareddata/xcschemes/Example-tvOS.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"1130\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"2D02E47A1E0B4A5D006451C7\"\n               BuildableName = \"Example-tvOS.app\"\n               BlueprintName = \"Example-tvOS\"\n               ReferencedContainer = \"container:Example.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n         <TestableReference\n            skipped = \"NO\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"2D02E48F1E0B4A5D006451C7\"\n               BuildableName = \"Example-tvOSTests.xctest\"\n               BlueprintName = \"Example-tvOSTests\"\n               ReferencedContainer = \"container:Example.xcodeproj\">\n            </BuildableReference>\n         </TestableReference>\n      </Testables>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"2D02E47A1E0B4A5D006451C7\"\n            BuildableName = \"Example-tvOS.app\"\n            BlueprintName = \"Example-tvOS\"\n            ReferencedContainer = \"container:Example.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"2D02E47A1E0B4A5D006451C7\"\n            BuildableName = \"Example-tvOS.app\"\n            BlueprintName = \"Example-tvOS\"\n            ReferencedContainer = \"container:Example.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "examples/react-native/ios/Example.xcodeproj/xcshareddata/xcschemes/Example.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"1130\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"13B07F861A680F5B00A75B9A\"\n               BuildableName = \"Example.app\"\n               BlueprintName = \"Example\"\n               ReferencedContainer = \"container:Example.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n         <TestableReference\n            skipped = \"NO\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"00E356ED1AD99517003FC87E\"\n               BuildableName = \"ExampleTests.xctest\"\n               BlueprintName = \"ExampleTests\"\n               ReferencedContainer = \"container:Example.xcodeproj\">\n            </BuildableReference>\n         </TestableReference>\n      </Testables>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"13B07F861A680F5B00A75B9A\"\n            BuildableName = \"Example.app\"\n            BlueprintName = \"Example\"\n            ReferencedContainer = \"container:Example.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"13B07F861A680F5B00A75B9A\"\n            BuildableName = \"Example.app\"\n            BlueprintName = \"Example\"\n            ReferencedContainer = \"container:Example.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "examples/react-native/ios/Example.xcworkspace/contents.xcworkspacedata",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n   version = \"1.0\">\n   <FileRef\n      location = \"group:Example.xcodeproj\">\n   </FileRef>\n   <FileRef\n      location = \"group:Pods/Pods.xcodeproj\">\n   </FileRef>\n</Workspace>\n"
  },
  {
    "path": "examples/react-native/ios/Example.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>IDEDidComputeMac32BitWarning</key>\n\t<true/>\n</dict>\n</plist>\n"
  },
  {
    "path": "examples/react-native/ios/ExampleTests/ExampleTests.m",
    "content": "#import <UIKit/UIKit.h>\n#import <XCTest/XCTest.h>\n\n#import <React/RCTLog.h>\n#import <React/RCTRootView.h>\n\n#define TIMEOUT_SECONDS 600\n#define TEXT_TO_LOOK_FOR @\"Welcome to React\"\n\n@interface ExampleTests : XCTestCase\n\n@end\n\n@implementation ExampleTests\n\n- (BOOL)findSubviewInView:(UIView *)view matching:(BOOL(^)(UIView *view))test\n{\n  if (test(view)) {\n    return YES;\n  }\n  for (UIView *subview in [view subviews]) {\n    if ([self findSubviewInView:subview matching:test]) {\n      return YES;\n    }\n  }\n  return NO;\n}\n\n- (void)testRendersWelcomeScreen\n{\n  UIViewController *vc = [[[RCTSharedApplication() delegate] window] rootViewController];\n  NSDate *date = [NSDate dateWithTimeIntervalSinceNow:TIMEOUT_SECONDS];\n  BOOL foundElement = NO;\n\n  __block NSString *redboxError = nil;\n#ifdef DEBUG\n  RCTSetLogFunction(^(RCTLogLevel level, RCTLogSource source, NSString *fileName, NSNumber *lineNumber, NSString *message) {\n    if (level >= RCTLogLevelError) {\n      redboxError = message;\n    }\n  });\n#endif\n\n  while ([date timeIntervalSinceNow] > 0 && !foundElement && !redboxError) {\n    [[NSRunLoop mainRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]];\n    [[NSRunLoop mainRunLoop] runMode:NSRunLoopCommonModes beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]];\n\n    foundElement = [self findSubviewInView:vc.view matching:^BOOL(UIView *view) {\n      if ([view.accessibilityLabel isEqualToString:TEXT_TO_LOOK_FOR]) {\n        return YES;\n      }\n      return NO;\n    }];\n  }\n\n#ifdef DEBUG\n  RCTSetLogFunction(RCTDefaultLogFunction);\n#endif\n\n  XCTAssertNil(redboxError, @\"RedBox error: %@\", redboxError);\n  XCTAssertTrue(foundElement, @\"Couldn't find element with text '%@' in %d seconds\", TEXT_TO_LOOK_FOR, TIMEOUT_SECONDS);\n}\n\n\n@end\n"
  },
  {
    "path": "examples/react-native/ios/ExampleTests/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>BNDL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "examples/react-native/ios/Podfile",
    "content": "require_relative '../node_modules/react-native/scripts/react_native_pods'\nrequire_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'\n\nplatform :ios, '10.0'\n\ntarget 'Example' do\n  config = use_native_modules!\n\n  use_react_native!(:path => config[\"reactNativePath\"])\n\n  target 'ExampleTests' do\n    inherit! :complete\n    # Pods for testing\n  end\n\n  # Enables Flipper.\n  #\n  # Note that if you have use_frameworks! enabled, Flipper will not work and\n  # you should disable these next few lines.\n  use_flipper!\n  post_install do |installer|\n    flipper_post_install(installer)\n  end\nend\n\ntarget 'Example-tvOS' do\n  # Pods for Example-tvOS\n\n  target 'Example-tvOSTests' do\n    inherit! :search_paths\n    # Pods for testing\n  end\nend\n"
  },
  {
    "path": "examples/react-native/metro.config.js",
    "content": "/**\n * Metro configuration for React Native\n * https://github.com/facebook/react-native\n *\n * @format\n */\n\nmodule.exports = {\n  transformer: {\n    getTransformOptions: async () => ({\n      transform: {\n        experimentalImportSupport: false,\n        inlineRequires: false,\n      },\n    }),\n  },\n};\n"
  },
  {
    "path": "examples/react-native/package.json",
    "content": "{\n  \"name\": \"Example\",\n  \"version\": \"0.0.1\",\n  \"private\": true,\n  \"scripts\": {\n    \"android\": \"react-native run-android\",\n    \"ios\": \"react-native run-ios\",\n    \"start\": \"react-native start\",\n    \"test\": \"jest\",\n    \"lint\": \"eslint .\"\n  },\n  \"dependencies\": {\n    \"react\": \"16.13.1\",\n    \"react-native\": \"0.63.0\",\n    \"react-native-button\": \"^3.0.1\",\n    \"react-native-gesture-handler\": \"^1.6.1\",\n    \"react-native-message-bar\": \"^2.0.10\",\n    \"react-native-reanimated\": \"^1.9.0\",\n    \"react-native-router-flux\": \"^4.3.0\",\n    \"@react-native-community/masked-view\": \"^0.1.10\",\n    \"react-native-safe-area-context\": \"^3.2.0\",\n    \"react-native-screens\": \"^2.18.1\"\n  },\n  \"devDependencies\": {\n    \"@babel/core\": \"^7.10.4\",\n    \"@babel/runtime\": \"^7.10.4\",\n    \"@react-native-community/eslint-config\": \"^2.0.0\",\n    \"babel-jest\": \"^26.1.0\",\n    \"eslint\": \"^7.4.0\",\n    \"jest\": \"^26.1.0\",\n    \"metro-react-native-babel-preset\": \"^0.60.0\",\n    \"react-test-renderer\": \"16.13.1\"\n  },\n  \"jest\": {\n    \"preset\": \"react-native\"\n  }\n}\n"
  },
  {
    "path": "examples/redux/.buckconfig",
    "content": "\n[android]\n  target = Google Inc.:Google APIs:23\n\n[maven_repositories]\n  central = https://repo1.maven.org/maven2\n"
  },
  {
    "path": "examples/redux/.flowconfig",
    "content": "[ignore]\n; We fork some components by platform\n.*/*[.]android.js\n\n; Ignore \"BUCK\" generated dirs\n<PROJECT_ROOT>/\\.buckd/\n\n; Ignore unexpected extra \"@providesModule\"\n.*/node_modules/.*/node_modules/fbjs/.*\n\n; Ignore duplicate module providers\n; For RN Apps installed via npm, \"Libraries\" folder is inside\n; \"node_modules/react-native\" but in the source repo it is in the root\n.*/Libraries/react-native/React.js\n.*/Libraries/react-native/ReactNative.js\n\n[include]\n\n[libs]\nnode_modules/react-native/Libraries/react-native/react-native-interface.js\nnode_modules/react-native/flow\nflow/\n\n[options]\nemoji=true\n\nmodule.system=haste\n\nmunge_underscores=true\n\nmodule.name_mapper='^[./a-zA-Z0-9$_-]+\\.\\(bmp\\|gif\\|jpg\\|jpeg\\|png\\|psd\\|svg\\|webp\\|m4v\\|mov\\|mp4\\|mpeg\\|mpg\\|webm\\|aac\\|aiff\\|caf\\|m4a\\|mp3\\|wav\\|html\\|pdf\\)$' -> 'RelativeImageStub'\n\nsuppress_type=$FlowIssue\nsuppress_type=$FlowFixMe\nsuppress_type=$FixMe\n\nsuppress_comment=\\\\(.\\\\|\\n\\\\)*\\\\$FlowFixMe\\\\($\\\\|[^(]\\\\|(\\\\(>=0\\\\.\\\\(4[0-7]\\\\|[1-3][0-9]\\\\|[0-9]\\\\).[0-9]\\\\)? *\\\\(site=[a-z,_]*react_native[a-z,_]*\\\\)?)\\\\)\nsuppress_comment=\\\\(.\\\\|\\n\\\\)*\\\\$FlowIssue\\\\((\\\\(>=0\\\\.\\\\(4[0-7]\\\\|[1-3][0-9]\\\\|[0-9]\\\\).[0-9]\\\\)? *\\\\(site=[a-z,_]*react_native[a-z,_]*\\\\)?)\\\\)?:? #[0-9]+\nsuppress_comment=\\\\(.\\\\|\\n\\\\)*\\\\$FlowFixedInNextDeploy\nsuppress_comment=\\\\(.\\\\|\\n\\\\)*\\\\$FlowExpectedError\n\nunsafe.enable_getters_and_setters=true\n\n[version]\n^0.47.0\n"
  },
  {
    "path": "examples/redux/.gitattributes",
    "content": "*.pbxproj -text\n"
  },
  {
    "path": "examples/redux/.gitignore",
    "content": "# OSX\n#\n.DS_Store\n\n# Xcode\n#\nbuild/\n*.pbxuser\n!default.pbxuser\n*.mode1v3\n!default.mode1v3\n*.mode2v3\n!default.mode2v3\n*.perspectivev3\n!default.perspectivev3\nxcuserdata\n*.xccheckout\n*.moved-aside\nDerivedData\n*.hmap\n*.ipa\n*.xcuserstate\nproject.xcworkspace\n\n# Android/IntelliJ\n#\nbuild/\n.idea\n.gradle\nlocal.properties\n*.iml\n\n# node.js\n#\nnode_modules/\nnpm-debug.log\nyarn-error.log\n\n# BUCK\nbuck-out/\n\\.buckd/\n*.keystore\n\n# fastlane\n#\n# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the\n# screenshots whenever they are needed.\n# For more information about the recommended setup visit:\n# https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Gitignore.md\n\nfastlane/report.xml\nfastlane/Preview.html\nfastlane/screenshots\n"
  },
  {
    "path": "examples/redux/.watchmanconfig",
    "content": "{}"
  },
  {
    "path": "examples/redux/android/.project",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<projectDescription>\n\t<name>android_</name>\n\t<comment>Project android_ created by Buildship.</comment>\n\t<projects>\n\t</projects>\n\t<buildSpec>\n\t\t<buildCommand>\n\t\t\t<name>org.eclipse.buildship.core.gradleprojectbuilder</name>\n\t\t\t<arguments>\n\t\t\t</arguments>\n\t\t</buildCommand>\n\t</buildSpec>\n\t<natures>\n\t\t<nature>org.eclipse.buildship.core.gradleprojectnature</nature>\n\t</natures>\n</projectDescription>\n"
  },
  {
    "path": "examples/redux/android/.settings/org.eclipse.buildship.core.prefs",
    "content": "connection.project.dir=\neclipse.preferences.version=1\n"
  },
  {
    "path": "examples/redux/android/app/BUCK",
    "content": "# To learn about Buck see [Docs](https://buckbuild.com/).\n# To run your application with Buck:\n# - install Buck\n# - `npm start` - to start the packager\n# - `cd android`\n# - `keytool -genkey -v -keystore keystores/debug.keystore -storepass android -alias androiddebugkey -keypass android -dname \"CN=Android Debug,O=Android,C=US\"`\n# - `./gradlew :app:copyDownloadableDepsToLibs` - make all Gradle compile dependencies available to Buck\n# - `buck install -r android/app` - compile, install and run application\n#\n\nlib_deps = []\n\nfor jarfile in glob(['libs/*.jar']):\n  name = 'jars__' + jarfile[jarfile.rindex('/') + 1: jarfile.rindex('.jar')]\n  lib_deps.append(':' + name)\n  prebuilt_jar(\n    name = name,\n    binary_jar = jarfile,\n  )\n\nfor aarfile in glob(['libs/*.aar']):\n  name = 'aars__' + aarfile[aarfile.rindex('/') + 1: aarfile.rindex('.aar')]\n  lib_deps.append(':' + name)\n  android_prebuilt_aar(\n    name = name,\n    aar = aarfile,\n  )\n\nandroid_library(\n    name = \"all-libs\",\n    exported_deps = lib_deps,\n)\n\nandroid_library(\n    name = \"app-code\",\n    srcs = glob([\n        \"src/main/java/**/*.java\",\n    ]),\n    deps = [\n        \":all-libs\",\n        \":build_config\",\n        \":res\",\n    ],\n)\n\nandroid_build_config(\n    name = \"build_config\",\n    package = \"com.rnrfreduxsample\",\n)\n\nandroid_resource(\n    name = \"res\",\n    package = \"com.rnrfreduxsample\",\n    res = \"src/main/res\",\n)\n\nandroid_binary(\n    name = \"app\",\n    keystore = \"//android/keystores:debug\",\n    manifest = \"src/main/AndroidManifest.xml\",\n    package_type = \"debug\",\n    deps = [\n        \":app-code\",\n    ],\n)\n"
  },
  {
    "path": "examples/redux/android/app/build.gradle",
    "content": "apply plugin: \"com.android.application\"\n\nimport com.android.build.OutputFile\n\n/**\n * The react.gradle file registers a task for each build variant (e.g. bundleDebugJsAndAssets\n * and bundleReleaseJsAndAssets).\n * These basically call `react-native bundle` with the correct arguments during the Android build\n * cycle. By default, bundleDebugJsAndAssets is skipped, as in debug/dev mode we prefer to load the\n * bundle directly from the development server. Below you can see all the possible configurations\n * and their defaults. If you decide to add a configuration block, make sure to add it before the\n * `apply from: \"../../node_modules/react-native/react.gradle\"` line.\n *\n * project.ext.react = [\n *   // the name of the generated asset file containing your JS bundle\n *   bundleAssetName: \"index.android.bundle\",\n *\n *   // the entry file for bundle generation\n *   entryFile: \"index.android.js\",\n *\n *   // whether to bundle JS and assets in debug mode\n *   bundleInDebug: false,\n *\n *   // whether to bundle JS and assets in release mode\n *   bundleInRelease: true,\n *\n *   // whether to bundle JS and assets in another build variant (if configured).\n *   // See http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Variants\n *   // The configuration property can be in the following formats\n *   //         'bundleIn${productFlavor}${buildType}'\n *   //         'bundleIn${buildType}'\n *   // bundleInFreeDebug: true,\n *   // bundleInPaidRelease: true,\n *   // bundleInBeta: true,\n *\n *   // whether to disable dev mode in custom build variants (by default only disabled in release)\n *   // for example: to disable dev mode in the staging build type (if configured)\n *   devDisabledInStaging: true,\n *   // The configuration property can be in the following formats\n *   //         'devDisabledIn${productFlavor}${buildType}'\n *   //         'devDisabledIn${buildType}'\n *\n *   // the root of your project, i.e. where \"package.json\" lives\n *   root: \"../../\",\n *\n *   // where to put the JS bundle asset in debug mode\n *   jsBundleDirDebug: \"$buildDir/intermediates/assets/debug\",\n *\n *   // where to put the JS bundle asset in release mode\n *   jsBundleDirRelease: \"$buildDir/intermediates/assets/release\",\n *\n *   // where to put drawable resources / React Native assets, e.g. the ones you use via\n *   // require('./image.png')), in debug mode\n *   resourcesDirDebug: \"$buildDir/intermediates/res/merged/debug\",\n *\n *   // where to put drawable resources / React Native assets, e.g. the ones you use via\n *   // require('./image.png')), in release mode\n *   resourcesDirRelease: \"$buildDir/intermediates/res/merged/release\",\n *\n *   // by default the gradle tasks are skipped if none of the JS files or assets change; this means\n *   // that we don't look at files in android/ or ios/ to determine whether the tasks are up to\n *   // date; if you have any other folders that you want to ignore for performance reasons (gradle\n *   // indexes the entire tree), add them here. Alternatively, if you have JS files in android/\n *   // for example, you might want to remove it from here.\n *   inputExcludes: [\"android/**\", \"ios/**\"],\n *\n *   // override which node gets called and with what additional arguments\n *   nodeExecutableAndArgs: [\"node\"],\n *\n *   // supply additional arguments to the packager\n *   extraPackagerArgs: []\n * ]\n */\n\nproject.ext.react = [\n    entryFile: \"index.js\"\n]\n\napply from: \"../../node_modules/react-native/react.gradle\"\n\n/**\n * Set this to true to create two separate APKs instead of one:\n *   - An APK that only works on ARM devices\n *   - An APK that only works on x86 devices\n * The advantage is the size of the APK is reduced by about 4MB.\n * Upload all the APKs to the Play Store and people will download\n * the correct one based on the CPU architecture of their device.\n */\ndef enableSeparateBuildPerCPUArchitecture = false\n\n/**\n * Run Proguard to shrink the Java bytecode in release builds.\n */\ndef enableProguardInReleaseBuilds = false\n\nandroid {\n    compileSdkVersion rootProject.ext.compileSdkVersion\n    buildToolsVersion rootProject.ext.buildToolsVersion\n\n    defaultConfig {\n        applicationId \"com.rnrfreduxsample\"\n        minSdkVersion rootProject.ext.minSdkVersion\n        targetSdkVersion rootProject.ext.targetSdkVersion\n        versionCode 1\n        versionName \"1.0\"\n        ndk {\n            abiFilters \"armeabi-v7a\", \"x86\"\n        }\n    }\n    splits {\n        abi {\n            reset()\n            enable enableSeparateBuildPerCPUArchitecture\n            universalApk false  // If true, also generate a universal APK\n            include \"armeabi-v7a\", \"x86\"\n        }\n    }\n    buildTypes {\n        release {\n            minifyEnabled enableProguardInReleaseBuilds\n            proguardFiles getDefaultProguardFile(\"proguard-android.txt\"), \"proguard-rules.pro\"\n        }\n    }\n    // applicationVariants are e.g. debug, release\n    applicationVariants.all { variant ->\n        variant.outputs.each { output ->\n            // For each separate APK per architecture, set a unique version code as described here:\n            // http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits\n            def versionCodes = [\"armeabi-v7a\":1, \"x86\":2]\n            def abi = output.getFilter(OutputFile.ABI)\n            if (abi != null) {  // null for the universal-debug, universal-release variants\n                output.versionCodeOverride =\n                        versionCodes.get(abi) * 1048576 + defaultConfig.versionCode\n            }\n        }\n    }\n}\n\ndependencies {\n    compile fileTree(dir: \"libs\", include: [\"*.jar\"])\n    compile \"com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}\"\n    compile \"com.facebook.react:react-native:+\"  // From node_modules\n}\n\n// Run this once to be able to run the application with BUCK\n// puts all compile dependencies into folder libs for BUCK to use\ntask copyDownloadableDepsToLibs(type: Copy) {\n    from configurations.compile\n    into 'libs'\n}\n"
  },
  {
    "path": "examples/redux/android/app/proguard-rules.pro",
    "content": "# Add project specific ProGuard rules here.\n# By default, the flags in this file are appended to flags specified\n# in /usr/local/Cellar/android-sdk/24.3.3/tools/proguard/proguard-android.txt\n# You can edit the include path and order by changing the proguardFiles\n# directive in build.gradle.\n#\n# For more details, see\n#   http://developer.android.com/guide/developing/tools/proguard.html\n\n# Add any project specific keep options here:\n\n# If your project uses WebView with JS, uncomment the following\n# and specify the fully qualified class name to the JavaScript interface\n# class:\n#-keepclassmembers class fqcn.of.javascript.interface.for.webview {\n#   public *;\n#}\n"
  },
  {
    "path": "examples/redux/android/app/src/main/AndroidManifest.xml",
    "content": "<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    package=\"com.rnrfreduxsample\">\n\n    <uses-permission android:name=\"android.permission.INTERNET\" />\n    <uses-permission android:name=\"android.permission.SYSTEM_ALERT_WINDOW\"/>\n\n    <application\n      android:name=\".MainApplication\"\n      android:label=\"@string/app_name\"\n      android:icon=\"@mipmap/ic_launcher\"\n      android:allowBackup=\"false\"\n      android:theme=\"@style/AppTheme\">\n      <activity\n        android:name=\".MainActivity\"\n        android:label=\"@string/app_name\"\n        android:configChanges=\"keyboard|keyboardHidden|orientation|screenSize\"\n        android:windowSoftInputMode=\"adjustResize\">\n        <intent-filter>\n            <action android:name=\"android.intent.action.MAIN\" />\n            <category android:name=\"android.intent.category.LAUNCHER\" />\n        </intent-filter>\n      </activity>\n      <activity android:name=\"com.facebook.react.devsupport.DevSettingsActivity\" />\n    </application>\n\n</manifest>\n"
  },
  {
    "path": "examples/redux/android/app/src/main/java/com/rnrfreduxsample/MainActivity.java",
    "content": "package com.rnrfreduxsample;\n\nimport com.facebook.react.ReactActivity;\n\npublic class MainActivity extends ReactActivity {\n\n    /**\n     * Returns the name of the main component registered from JavaScript.\n     * This is used to schedule rendering of the component.\n     */\n    @Override\n    protected String getMainComponentName() {\n        return \"rnrfReduxSample\";\n    }\n}\n"
  },
  {
    "path": "examples/redux/android/app/src/main/java/com/rnrfreduxsample/MainApplication.java",
    "content": "package com.rnrfreduxsample;\n\nimport android.app.Application;\n\nimport com.facebook.react.ReactApplication;\nimport com.facebook.react.ReactNativeHost;\nimport com.facebook.react.ReactPackage;\nimport com.facebook.react.shell.MainReactPackage;\nimport com.facebook.soloader.SoLoader;\n\nimport java.util.Arrays;\nimport java.util.List;\n\npublic class MainApplication extends Application implements ReactApplication {\n\n  private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {\n    @Override\n    public boolean getUseDeveloperSupport() {\n      return BuildConfig.DEBUG;\n    }\n\n    @Override\n    protected List<ReactPackage> getPackages() {\n      return Arrays.<ReactPackage>asList(\n          new MainReactPackage()\n      );\n    }\n\n    @Override\n    protected String getJSMainModuleName() {\n      return \"index\";\n    }\n  };\n\n  @Override\n  public ReactNativeHost getReactNativeHost() {\n    return mReactNativeHost;\n  }\n\n  @Override\n  public void onCreate() {\n    super.onCreate();\n    SoLoader.init(this, /* native exopackage */ false);\n  }\n}\n"
  },
  {
    "path": "examples/redux/android/app/src/main/res/values/strings.xml",
    "content": "<resources>\n    <string name=\"app_name\">RNRF Redux Sample</string>\n</resources>\n"
  },
  {
    "path": "examples/redux/android/app/src/main/res/values/styles.xml",
    "content": "<resources>\n\n    <!-- Base application theme. -->\n    <style name=\"AppTheme\" parent=\"Theme.AppCompat.Light.NoActionBar\">\n        <!-- Customize your theme here. -->\n    </style>\n\n</resources>\n"
  },
  {
    "path": "examples/redux/android/build.gradle",
    "content": "// Top-level build file where you can add configuration options common to all sub-projects/modules.\n\nbuildscript {\n    repositories {\n        jcenter()\n        maven {\n            url 'https://maven.google.com/'\n            name 'Google'\n        }\n    }\n    dependencies {\n        classpath 'com.android.tools.build:gradle:2.3.3'\n\n        // NOTE: Do not place your application dependencies here; they belong\n        // in the individual module build.gradle files\n    }\n}\n\nallprojects {\n    repositories {\n        mavenLocal()\n        jcenter()\n        maven {\n            // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm\n            url \"$rootDir/../node_modules/react-native/android\"\n        }\n        maven {\n            url 'https://maven.google.com/'\n            name 'Google'\n        }\n    }\n}\n\next {\n    buildToolsVersion = \"26.0.3\"\n    minSdkVersion = 16\n    compileSdkVersion = 26\n    targetSdkVersion = 26\n    supportLibVersion = \"26.1.0\"\n}\n"
  },
  {
    "path": "examples/redux/android/gradle/wrapper/gradle-wrapper.properties",
    "content": "distributionBase=GRADLE_USER_HOME\ndistributionPath=wrapper/dists\nzipStoreBase=GRADLE_USER_HOME\nzipStorePath=wrapper/dists\ndistributionUrl=https\\://services.gradle.org/distributions/gradle-3.5.1-all.zip\n"
  },
  {
    "path": "examples/redux/android/gradle.properties",
    "content": "# Project-wide Gradle settings.\n\n# IDE (e.g. Android Studio) users:\n# Gradle settings configured through the IDE *will override*\n# any settings specified in this file.\n\n# For more details on how to configure your build environment visit\n# http://www.gradle.org/docs/current/userguide/build_environment.html\n\n# Specifies the JVM arguments used for the daemon process.\n# The setting is particularly useful for tweaking memory settings.\n# Default value: -Xmx10248m -XX:MaxPermSize=256m\n# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8\n\n# When configured, Gradle will run in incubating parallel mode.\n# This option should only be used with decoupled projects. More details, visit\n# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects\n# org.gradle.parallel=true\n\nandroid.useDeprecatedNdk=true\n"
  },
  {
    "path": "examples/redux/android/gradlew",
    "content": "#!/usr/bin/env bash\n\n##############################################################################\n##\n##  Gradle start up script for UN*X\n##\n##############################################################################\n\n# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.\nDEFAULT_JVM_OPTS=\"\"\n\nAPP_NAME=\"Gradle\"\nAPP_BASE_NAME=`basename \"$0\"`\n\n# Use the maximum available, or set MAX_FD != -1 to use that value.\nMAX_FD=\"maximum\"\n\nwarn ( ) {\n    echo \"$*\"\n}\n\ndie ( ) {\n    echo\n    echo \"$*\"\n    echo\n    exit 1\n}\n\n# OS specific support (must be 'true' or 'false').\ncygwin=false\nmsys=false\ndarwin=false\ncase \"`uname`\" in\n  CYGWIN* )\n    cygwin=true\n    ;;\n  Darwin* )\n    darwin=true\n    ;;\n  MINGW* )\n    msys=true\n    ;;\nesac\n\n# For Cygwin, ensure paths are in UNIX format before anything is touched.\nif $cygwin ; then\n    [ -n \"$JAVA_HOME\" ] && JAVA_HOME=`cygpath --unix \"$JAVA_HOME\"`\nfi\n\n# Attempt to set APP_HOME\n# Resolve links: $0 may be a link\nPRG=\"$0\"\n# Need this for relative symlinks.\nwhile [ -h \"$PRG\" ] ; do\n    ls=`ls -ld \"$PRG\"`\n    link=`expr \"$ls\" : '.*-> \\(.*\\)$'`\n    if expr \"$link\" : '/.*' > /dev/null; then\n        PRG=\"$link\"\n    else\n        PRG=`dirname \"$PRG\"`\"/$link\"\n    fi\ndone\nSAVED=\"`pwd`\"\ncd \"`dirname \\\"$PRG\\\"`/\" >&-\nAPP_HOME=\"`pwd -P`\"\ncd \"$SAVED\" >&-\n\nCLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar\n\n# Determine the Java command to use to start the JVM.\nif [ -n \"$JAVA_HOME\" ] ; then\n    if [ -x \"$JAVA_HOME/jre/sh/java\" ] ; then\n        # IBM's JDK on AIX uses strange locations for the executables\n        JAVACMD=\"$JAVA_HOME/jre/sh/java\"\n    else\n        JAVACMD=\"$JAVA_HOME/bin/java\"\n    fi\n    if [ ! -x \"$JAVACMD\" ] ; then\n        die \"ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME\n\nPlease set the JAVA_HOME variable in your environment to match the\nlocation of your Java installation.\"\n    fi\nelse\n    JAVACMD=\"java\"\n    which java >/dev/null 2>&1 || die \"ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.\n\nPlease set the JAVA_HOME variable in your environment to match the\nlocation of your Java installation.\"\nfi\n\n# Increase the maximum file descriptors if we can.\nif [ \"$cygwin\" = \"false\" -a \"$darwin\" = \"false\" ] ; then\n    MAX_FD_LIMIT=`ulimit -H -n`\n    if [ $? -eq 0 ] ; then\n        if [ \"$MAX_FD\" = \"maximum\" -o \"$MAX_FD\" = \"max\" ] ; then\n            MAX_FD=\"$MAX_FD_LIMIT\"\n        fi\n        ulimit -n $MAX_FD\n        if [ $? -ne 0 ] ; then\n            warn \"Could not set maximum file descriptor limit: $MAX_FD\"\n        fi\n    else\n        warn \"Could not query maximum file descriptor limit: $MAX_FD_LIMIT\"\n    fi\nfi\n\n# For Darwin, add options to specify how the application appears in the dock\nif $darwin; then\n    GRADLE_OPTS=\"$GRADLE_OPTS \\\"-Xdock:name=$APP_NAME\\\" \\\"-Xdock:icon=$APP_HOME/media/gradle.icns\\\"\"\nfi\n\n# For Cygwin, switch paths to Windows format before running java\nif $cygwin ; then\n    APP_HOME=`cygpath --path --mixed \"$APP_HOME\"`\n    CLASSPATH=`cygpath --path --mixed \"$CLASSPATH\"`\n\n    # We build the pattern for arguments to be converted via cygpath\n    ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`\n    SEP=\"\"\n    for dir in $ROOTDIRSRAW ; do\n        ROOTDIRS=\"$ROOTDIRS$SEP$dir\"\n        SEP=\"|\"\n    done\n    OURCYGPATTERN=\"(^($ROOTDIRS))\"\n    # Add a user-defined pattern to the cygpath arguments\n    if [ \"$GRADLE_CYGPATTERN\" != \"\" ] ; then\n        OURCYGPATTERN=\"$OURCYGPATTERN|($GRADLE_CYGPATTERN)\"\n    fi\n    # Now convert the arguments - kludge to limit ourselves to /bin/sh\n    i=0\n    for arg in \"$@\" ; do\n        CHECK=`echo \"$arg\"|egrep -c \"$OURCYGPATTERN\" -`\n        CHECK2=`echo \"$arg\"|egrep -c \"^-\"`                                 ### Determine if an option\n\n        if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then                    ### Added a condition\n            eval `echo args$i`=`cygpath --path --ignore --mixed \"$arg\"`\n        else\n            eval `echo args$i`=\"\\\"$arg\\\"\"\n        fi\n        i=$((i+1))\n    done\n    case $i in\n        (0) set -- ;;\n        (1) set -- \"$args0\" ;;\n        (2) set -- \"$args0\" \"$args1\" ;;\n        (3) set -- \"$args0\" \"$args1\" \"$args2\" ;;\n        (4) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" ;;\n        (5) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" \"$args4\" ;;\n        (6) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" \"$args4\" \"$args5\" ;;\n        (7) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" \"$args4\" \"$args5\" \"$args6\" ;;\n        (8) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" \"$args4\" \"$args5\" \"$args6\" \"$args7\" ;;\n        (9) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" \"$args4\" \"$args5\" \"$args6\" \"$args7\" \"$args8\" ;;\n    esac\nfi\n\n# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules\nfunction splitJvmOpts() {\n    JVM_OPTS=(\"$@\")\n}\neval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS\nJVM_OPTS[${#JVM_OPTS[*]}]=\"-Dorg.gradle.appname=$APP_BASE_NAME\"\n\nexec \"$JAVACMD\" \"${JVM_OPTS[@]}\" -classpath \"$CLASSPATH\" org.gradle.wrapper.GradleWrapperMain \"$@\"\n"
  },
  {
    "path": "examples/redux/android/gradlew.bat",
    "content": "@if \"%DEBUG%\" == \"\" @echo off\r\n@rem ##########################################################################\r\n@rem\r\n@rem  Gradle startup script for Windows\r\n@rem\r\n@rem ##########################################################################\r\n\r\n@rem Set local scope for the variables with windows NT shell\r\nif \"%OS%\"==\"Windows_NT\" setlocal\r\n\r\n@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.\r\nset DEFAULT_JVM_OPTS=\r\n\r\nset DIRNAME=%~dp0\r\nif \"%DIRNAME%\" == \"\" set DIRNAME=.\r\nset APP_BASE_NAME=%~n0\r\nset APP_HOME=%DIRNAME%\r\n\r\n@rem Find java.exe\r\nif defined JAVA_HOME goto findJavaFromJavaHome\r\n\r\nset JAVA_EXE=java.exe\r\n%JAVA_EXE% -version >NUL 2>&1\r\nif \"%ERRORLEVEL%\" == \"0\" goto init\r\n\r\necho.\r\necho ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.\r\necho.\r\necho Please set the JAVA_HOME variable in your environment to match the\r\necho location of your Java installation.\r\n\r\ngoto fail\r\n\r\n:findJavaFromJavaHome\r\nset JAVA_HOME=%JAVA_HOME:\"=%\r\nset JAVA_EXE=%JAVA_HOME%/bin/java.exe\r\n\r\nif exist \"%JAVA_EXE%\" goto init\r\n\r\necho.\r\necho ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%\r\necho.\r\necho Please set the JAVA_HOME variable in your environment to match the\r\necho location of your Java installation.\r\n\r\ngoto fail\r\n\r\n:init\r\n@rem Get command-line arguments, handling Windowz variants\r\n\r\nif not \"%OS%\" == \"Windows_NT\" goto win9xME_args\r\nif \"%@eval[2+2]\" == \"4\" goto 4NT_args\r\n\r\n:win9xME_args\r\n@rem Slurp the command line arguments.\r\nset CMD_LINE_ARGS=\r\nset _SKIP=2\r\n\r\n:win9xME_args_slurp\r\nif \"x%~1\" == \"x\" goto execute\r\n\r\nset CMD_LINE_ARGS=%*\r\ngoto execute\r\n\r\n:4NT_args\r\n@rem Get arguments from the 4NT Shell from JP Software\r\nset CMD_LINE_ARGS=%$\r\n\r\n:execute\r\n@rem Setup the command line\r\n\r\nset CLASSPATH=%APP_HOME%\\gradle\\wrapper\\gradle-wrapper.jar\r\n\r\n@rem Execute Gradle\r\n\"%JAVA_EXE%\" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% \"-Dorg.gradle.appname=%APP_BASE_NAME%\" -classpath \"%CLASSPATH%\" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%\r\n\r\n:end\r\n@rem End local scope for the variables with windows NT shell\r\nif \"%ERRORLEVEL%\"==\"0\" goto mainEnd\r\n\r\n:fail\r\nrem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of\r\nrem the _cmd.exe /c_ return code!\r\nif  not \"\" == \"%GRADLE_EXIT_CONSOLE%\" exit 1\r\nexit /b 1\r\n\r\n:mainEnd\r\nif \"%OS%\"==\"Windows_NT\" endlocal\r\n\r\n:omega\r\n"
  },
  {
    "path": "examples/redux/android/keystores/BUCK",
    "content": "keystore(\n    name = \"debug\",\n    properties = \"debug.keystore.properties\",\n    store = \"debug.keystore\",\n    visibility = [\n        \"PUBLIC\",\n    ],\n)\n"
  },
  {
    "path": "examples/redux/android/keystores/debug.keystore.properties",
    "content": "key.store=debug.keystore\nkey.alias=androiddebugkey\nkey.store.password=android\nkey.alias.password=android\n"
  },
  {
    "path": "examples/redux/android/settings.gradle",
    "content": "rootProject.name = 'rnrfReduxSample'\n\ninclude ':app'\n"
  },
  {
    "path": "examples/redux/app.json",
    "content": "{\n  \"displayName\": \"RNRF Redux Sample\",\n  \"name\": \"rnrfReduxSample\"\n}"
  },
  {
    "path": "examples/redux/babel.config.js",
    "content": "module.exports = {\n  presets: [\n    \"babel-preset-react-native\"\n  ],\n  plugins: [\n    ['@babel/plugin-proposal-decorators', { legacy: true }],\n  ],\n};\n"
  },
  {
    "path": "examples/redux/index.android.js",
    "content": "import { AppRegistry } from 'react-native';\nimport App from './src/app';\n\nAppRegistry.registerComponent('rnrfReduxSample', () => App);"
  },
  {
    "path": "examples/redux/index.ios.js",
    "content": "import { AppRegistry } from 'react-native';\nimport App from './src/app';\n\nAppRegistry.registerComponent('rnrfReduxSample', () => App);"
  },
  {
    "path": "examples/redux/ios/rnrfReduxSample/AppDelegate.h",
    "content": "/**\n * Copyright (c) 2015-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n#import <UIKit/UIKit.h>\n\n@interface AppDelegate : UIResponder <UIApplicationDelegate>\n\n@property (nonatomic, strong) UIWindow *window;\n\n@end\n"
  },
  {
    "path": "examples/redux/ios/rnrfReduxSample/AppDelegate.m",
    "content": "/**\n * Copyright (c) 2015-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n#import \"AppDelegate.h\"\n\n#import <React/RCTBundleURLProvider.h>\n#import <React/RCTRootView.h>\n\n@implementation AppDelegate\n\n- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions\n{\n  NSURL *jsCodeLocation;\n\n  jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@\"index\" fallbackResource:nil];\n\n  RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation\n                                                      moduleName:@\"rnrfReduxSample\"\n                                               initialProperties:nil\n                                                   launchOptions:launchOptions];\n  rootView.backgroundColor = [[UIColor alloc] initWithRed:1.0f green:1.0f blue:1.0f alpha:1];\n\n  self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];\n  UIViewController *rootViewController = [UIViewController new];\n  rootViewController.view = rootView;\n  self.window.rootViewController = rootViewController;\n  [self.window makeKeyAndVisible];\n  return YES;\n}\n\n@end\n"
  },
  {
    "path": "examples/redux/ios/rnrfReduxSample/Base.lproj/LaunchScreen.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" version=\"3.0\" toolsVersion=\"7702\" systemVersion=\"14D136\" targetRuntime=\"iOS.CocoaTouch\" propertyAccessControl=\"none\" useAutolayout=\"YES\" launchScreen=\"YES\" useTraitCollections=\"YES\">\n    <dependencies>\n        <deployment identifier=\"iOS\"/>\n        <plugIn identifier=\"com.apple.InterfaceBuilder.IBCocoaTouchPlugin\" version=\"7701\"/>\n        <capability name=\"Constraints with non-1.0 multipliers\" minToolsVersion=\"5.1\"/>\n    </dependencies>\n    <objects>\n        <placeholder placeholderIdentifier=\"IBFilesOwner\" id=\"-1\" userLabel=\"File's Owner\"/>\n        <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"-2\" customClass=\"UIResponder\"/>\n        <view contentMode=\"scaleToFill\" id=\"iN0-l3-epB\">\n            <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"480\" height=\"480\"/>\n            <autoresizingMask key=\"autoresizingMask\" widthSizable=\"YES\" heightSizable=\"YES\"/>\n            <subviews>\n                <label opaque=\"NO\" clipsSubviews=\"YES\" userInteractionEnabled=\"NO\" contentMode=\"left\" horizontalHuggingPriority=\"251\" verticalHuggingPriority=\"251\" text=\"Powered by React Native\" textAlignment=\"center\" lineBreakMode=\"tailTruncation\" baselineAdjustment=\"alignBaselines\" minimumFontSize=\"9\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"8ie-xW-0ye\">\n                    <rect key=\"frame\" x=\"20\" y=\"439\" width=\"441\" height=\"21\"/>\n                    <fontDescription key=\"fontDescription\" type=\"system\" pointSize=\"17\"/>\n                    <color key=\"textColor\" cocoaTouchSystemColor=\"darkTextColor\"/>\n                    <nil key=\"highlightedColor\"/>\n                </label>\n                <label opaque=\"NO\" clipsSubviews=\"YES\" userInteractionEnabled=\"NO\" contentMode=\"left\" horizontalHuggingPriority=\"251\" verticalHuggingPriority=\"251\" text=\"rnrfReduxSample\" textAlignment=\"center\" lineBreakMode=\"middleTruncation\" baselineAdjustment=\"alignBaselines\" minimumFontSize=\"18\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"kId-c2-rCX\">\n                    <rect key=\"frame\" x=\"20\" y=\"140\" width=\"441\" height=\"43\"/>\n                    <fontDescription key=\"fontDescription\" type=\"boldSystem\" pointSize=\"36\"/>\n                    <color key=\"textColor\" cocoaTouchSystemColor=\"darkTextColor\"/>\n                    <nil key=\"highlightedColor\"/>\n                </label>\n            </subviews>\n            <color key=\"backgroundColor\" white=\"1\" alpha=\"1\" colorSpace=\"custom\" customColorSpace=\"calibratedWhite\"/>\n            <constraints>\n                <constraint firstItem=\"kId-c2-rCX\" firstAttribute=\"centerY\" secondItem=\"iN0-l3-epB\" secondAttribute=\"bottom\" multiplier=\"1/3\" constant=\"1\" id=\"5cJ-9S-tgC\"/>\n                <constraint firstAttribute=\"centerX\" secondItem=\"kId-c2-rCX\" secondAttribute=\"centerX\" id=\"Koa-jz-hwk\"/>\n                <constraint firstAttribute=\"bottom\" secondItem=\"8ie-xW-0ye\" secondAttribute=\"bottom\" constant=\"20\" id=\"Kzo-t9-V3l\"/>\n                <constraint firstItem=\"8ie-xW-0ye\" firstAttribute=\"leading\" secondItem=\"iN0-l3-epB\" secondAttribute=\"leading\" constant=\"20\" symbolic=\"YES\" id=\"MfP-vx-nX0\"/>\n                <constraint firstAttribute=\"centerX\" secondItem=\"8ie-xW-0ye\" secondAttribute=\"centerX\" id=\"ZEH-qu-HZ9\"/>\n                <constraint firstItem=\"kId-c2-rCX\" firstAttribute=\"leading\" secondItem=\"iN0-l3-epB\" secondAttribute=\"leading\" constant=\"20\" symbolic=\"YES\" id=\"fvb-Df-36g\"/>\n            </constraints>\n            <nil key=\"simulatedStatusBarMetrics\"/>\n            <freeformSimulatedSizeMetrics key=\"simulatedDestinationMetrics\"/>\n            <point key=\"canvasLocation\" x=\"548\" y=\"455\"/>\n        </view>\n    </objects>\n</document>\n"
  },
  {
    "path": "examples/redux/ios/rnrfReduxSample/Images.xcassets/AppIcon.appiconset/Contents.json",
    "content": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"29x29\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"29x29\",\n      \"scale\" : \"3x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"40x40\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"40x40\",\n      \"scale\" : \"3x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"60x60\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"60x60\",\n      \"scale\" : \"3x\"\n    }\n  ],\n  \"info\" : {\n    \"version\" : 1,\n    \"author\" : \"xcode\"\n  }\n}"
  },
  {
    "path": "examples/redux/ios/rnrfReduxSample/Images.xcassets/Contents.json",
    "content": "{\n  \"info\" : {\n    \"version\" : 1,\n    \"author\" : \"xcode\"\n  }\n}\n"
  },
  {
    "path": "examples/redux/ios/rnrfReduxSample/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleDisplayName</key>\n\t<string>RNRF Redux Sample</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n\t<key>LSRequiresIPhoneOS</key>\n\t<true/>\n\t<key>UILaunchStoryboardName</key>\n\t<string>LaunchScreen</string>\n\t<key>UIRequiredDeviceCapabilities</key>\n\t<array>\n\t\t<string>armv7</string>\n\t</array>\n\t<key>UISupportedInterfaceOrientations</key>\n\t<array>\n\t\t<string>UIInterfaceOrientationPortrait</string>\n\t\t<string>UIInterfaceOrientationLandscapeLeft</string>\n\t\t<string>UIInterfaceOrientationLandscapeRight</string>\n\t</array>\n\t<key>UIViewControllerBasedStatusBarAppearance</key>\n\t<false/>\n\t<key>NSLocationWhenInUseUsageDescription</key>\n\t<string></string>\n\t<key>NSAppTransportSecurity</key>\n\t<!--See http://ste.vn/2015/06/10/configuring-app-transport-security-ios-9-osx-10-11/ -->\n\t<dict>\n\t\t<key>NSExceptionDomains</key>\n\t\t<dict>\n\t\t\t<key>localhost</key>\n\t\t\t<dict>\n\t\t\t\t<key>NSExceptionAllowsInsecureHTTPLoads</key>\n\t\t\t\t<true/>\n\t\t\t</dict>\n\t\t</dict>\n\t</dict>\n</dict>\n</plist>\n"
  },
  {
    "path": "examples/redux/ios/rnrfReduxSample/main.m",
    "content": "/**\n * Copyright (c) 2015-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n#import <UIKit/UIKit.h>\n\n#import \"AppDelegate.h\"\n\nint main(int argc, char * argv[]) {\n  @autoreleasepool {\n    return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));\n  }\n}\n"
  },
  {
    "path": "examples/redux/ios/rnrfReduxSample-tvOS/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n\t<key>LSRequiresIPhoneOS</key>\n\t<true/>\n\t<key>UILaunchStoryboardName</key>\n\t<string>LaunchScreen</string>\n\t<key>UIRequiredDeviceCapabilities</key>\n\t<array>\n\t\t<string>armv7</string>\n\t</array>\n\t<key>UISupportedInterfaceOrientations</key>\n\t<array>\n\t\t<string>UIInterfaceOrientationPortrait</string>\n\t\t<string>UIInterfaceOrientationLandscapeLeft</string>\n\t\t<string>UIInterfaceOrientationLandscapeRight</string>\n\t</array>\n\t<key>UIViewControllerBasedStatusBarAppearance</key>\n\t<false/>\n\t<key>NSLocationWhenInUseUsageDescription</key>\n\t<string></string>\n\t<key>NSAppTransportSecurity</key>\n\t<!--See http://ste.vn/2015/06/10/configuring-app-transport-security-ios-9-osx-10-11/ -->\n\t<dict>\n\t\t<key>NSExceptionDomains</key>\n\t\t<dict>\n\t\t\t<key>localhost</key>\n\t\t\t<dict>\n\t\t\t\t<key>NSExceptionAllowsInsecureHTTPLoads</key>\n\t\t\t\t<true/>\n\t\t\t</dict>\n\t\t</dict>\n\t</dict>\n</dict>\n</plist>\n"
  },
  {
    "path": "examples/redux/ios/rnrfReduxSample-tvOSTests/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>BNDL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "examples/redux/ios/rnrfReduxSample.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t00C302E51ABCBA2D00DB3ED1 /* libRCTActionSheet.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */; };\n\t\t00C302E71ABCBA2D00DB3ED1 /* libRCTGeolocation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302BA1ABCB90400DB3ED1 /* libRCTGeolocation.a */; };\n\t\t00C302E81ABCBA2D00DB3ED1 /* libRCTImage.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302C01ABCB91800DB3ED1 /* libRCTImage.a */; };\n\t\t00C302E91ABCBA2D00DB3ED1 /* libRCTNetwork.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302DC1ABCB9D200DB3ED1 /* libRCTNetwork.a */; };\n\t\t00C302EA1ABCBA2D00DB3ED1 /* libRCTVibration.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302E41ABCB9EE00DB3ED1 /* libRCTVibration.a */; };\n\t\t00E356F31AD99517003FC87E /* rnrfReduxSampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* rnrfReduxSampleTests.m */; };\n\t\t133E29F31AD74F7200F7D852 /* libRCTLinking.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 78C398B91ACF4ADC00677621 /* libRCTLinking.a */; };\n\t\t139105C61AF99C1200B5F7CC /* libRCTSettings.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 139105C11AF99BAD00B5F7CC /* libRCTSettings.a */; };\n\t\t139FDEF61B0652A700C62182 /* libRCTWebSocket.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 139FDEF41B06529B00C62182 /* libRCTWebSocket.a */; };\n\t\t13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; };\n\t\t13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB11A68108700A75B9A /* LaunchScreen.xib */; };\n\t\t13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };\n\t\t13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };\n\t\t140ED2AC1D01E1AD002B40FF /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 146834041AC3E56700842450 /* libReact.a */; };\n\t\t146834051AC3E58100842450 /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 146834041AC3E56700842450 /* libReact.a */; };\n\t\t2D02E4BC1E0B4A80006451C7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; };\n\t\t2D02E4BD1E0B4A84006451C7 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };\n\t\t2D02E4BF1E0B4AB3006451C7 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };\n\t\t2D02E4C21E0B4AEC006451C7 /* libRCTAnimation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5E9157351DD0AC6500FF2AA8 /* libRCTAnimation.a */; };\n\t\t2D02E4C31E0B4AEC006451C7 /* libRCTImage-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E841DF850E9000B6D8A /* libRCTImage-tvOS.a */; };\n\t\t2D02E4C41E0B4AEC006451C7 /* libRCTLinking-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E881DF850E9000B6D8A /* libRCTLinking-tvOS.a */; };\n\t\t2D02E4C51E0B4AEC006451C7 /* libRCTNetwork-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E8C1DF850E9000B6D8A /* libRCTNetwork-tvOS.a */; };\n\t\t2D02E4C61E0B4AEC006451C7 /* libRCTSettings-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E901DF850E9000B6D8A /* libRCTSettings-tvOS.a */; };\n\t\t2D02E4C71E0B4AEC006451C7 /* libRCTText-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E941DF850E9000B6D8A /* libRCTText-tvOS.a */; };\n\t\t2D02E4C81E0B4AEC006451C7 /* libRCTWebSocket-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E991DF850E9000B6D8A /* libRCTWebSocket-tvOS.a */; };\n\t\t2D16E6881FA4F8E400B85C8A /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2D16E6891FA4F8E400B85C8A /* libReact.a */; };\n\t\t2DCD954D1E0B4F2C00145EB5 /* rnrfReduxSampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* rnrfReduxSampleTests.m */; };\n\t\t2DF0FFEE2056DD460020B375 /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3EA31DF850E9000B6D8A /* libReact.a */; };\n\t\t5E9157361DD0AC6A00FF2AA8 /* libRCTAnimation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5E9157331DD0AC6500FF2AA8 /* libRCTAnimation.a */; };\n\t\t832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 832341B51AAA6A8300B99B32 /* libRCTText.a */; };\n\t\tADBDB9381DFEBF1600ED6528 /* libRCTBlob.a in Frameworks */ = {isa = PBXBuildFile; fileRef = ADBDB9271DFEBF0700ED6528 /* libRCTBlob.a */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXContainerItemProxy section */\n\t\t00C302AB1ABCB8CE00DB3ED1 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */;\n\t\t\tproxyType = 2;\n\t\t\tremoteGlobalIDString = 134814201AA4EA6300B7C361;\n\t\t\tremoteInfo = RCTActionSheet;\n\t\t};\n\t\t00C302B91ABCB90400DB3ED1 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */;\n\t\t\tproxyType = 2;\n\t\t\tremoteGlobalIDString = 134814201AA4EA6300B7C361;\n\t\t\tremoteInfo = RCTGeolocation;\n\t\t};\n\t\t00C302BF1ABCB91800DB3ED1 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */;\n\t\t\tproxyType = 2;\n\t\t\tremoteGlobalIDString = 58B5115D1A9E6B3D00147676;\n\t\t\tremoteInfo = RCTImage;\n\t\t};\n\t\t00C302DB1ABCB9D200DB3ED1 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */;\n\t\t\tproxyType = 2;\n\t\t\tremoteGlobalIDString = 58B511DB1A9E6C8500147676;\n\t\t\tremoteInfo = RCTNetwork;\n\t\t};\n\t\t00C302E31ABCB9EE00DB3ED1 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */;\n\t\t\tproxyType = 2;\n\t\t\tremoteGlobalIDString = 832C81801AAF6DEF007FA2F7;\n\t\t\tremoteInfo = RCTVibration;\n\t\t};\n\t\t00E356F41AD99517003FC87E /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = 13B07F861A680F5B00A75B9A;\n\t\t\tremoteInfo = rnrfReduxSample;\n\t\t};\n\t\t139105C01AF99BAD00B5F7CC /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */;\n\t\t\tproxyType = 2;\n\t\t\tremoteGlobalIDString = 134814201AA4EA6300B7C361;\n\t\t\tremoteInfo = RCTSettings;\n\t\t};\n\t\t139FDEF31B06529B00C62182 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */;\n\t\t\tproxyType = 2;\n\t\t\tremoteGlobalIDString = 3C86DF461ADF2C930047B81A;\n\t\t\tremoteInfo = RCTWebSocket;\n\t\t};\n\t\t146834031AC3E56700842450 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;\n\t\t\tproxyType = 2;\n\t\t\tremoteGlobalIDString = 83CBBA2E1A601D0E00E9B192;\n\t\t\tremoteInfo = React;\n\t\t};\n\t\t2D02E4911E0B4A5D006451C7 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = 2D02E47A1E0B4A5D006451C7;\n\t\t\tremoteInfo = \"rnrfReduxSample-tvOS\";\n\t\t};\n\t\t2D16E6711FA4F8DC00B85C8A /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */;\n\t\t\tproxyType = 2;\n\t\t\tremoteGlobalIDString = ADD01A681E09402E00F6D226;\n\t\t\tremoteInfo = \"RCTBlob-tvOS\";\n\t\t};\n\t\t2D16E6831FA4F8DC00B85C8A /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */;\n\t\t\tproxyType = 2;\n\t\t\tremoteGlobalIDString = 3DBE0D001F3B181A0099AA32;\n\t\t\tremoteInfo = fishhook;\n\t\t};\n\t\t2D16E6851FA4F8DC00B85C8A /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */;\n\t\t\tproxyType = 2;\n\t\t\tremoteGlobalIDString = 3DBE0D0D1F3B181C0099AA32;\n\t\t\tremoteInfo = \"fishhook-tvOS\";\n\t\t};\n\t\t2DF0FFDE2056DD460020B375 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;\n\t\t\tproxyType = 2;\n\t\t\tremoteGlobalIDString = EBF21BDC1FC498900052F4D5;\n\t\t\tremoteInfo = jsinspector;\n\t\t};\n\t\t2DF0FFE02056DD460020B375 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;\n\t\t\tproxyType = 2;\n\t\t\tremoteGlobalIDString = EBF21BFA1FC4989A0052F4D5;\n\t\t\tremoteInfo = \"jsinspector-tvOS\";\n\t\t};\n\t\t2DF0FFE22056DD460020B375 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;\n\t\t\tproxyType = 2;\n\t\t\tremoteGlobalIDString = 139D7ECE1E25DB7D00323FB7;\n\t\t\tremoteInfo = \"third-party\";\n\t\t};\n\t\t2DF0FFE42056DD460020B375 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;\n\t\t\tproxyType = 2;\n\t\t\tremoteGlobalIDString = 3D383D3C1EBD27B6005632C8;\n\t\t\tremoteInfo = \"third-party-tvOS\";\n\t\t};\n\t\t2DF0FFE62056DD460020B375 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;\n\t\t\tproxyType = 2;\n\t\t\tremoteGlobalIDString = 139D7E881E25C6D100323FB7;\n\t\t\tremoteInfo = \"double-conversion\";\n\t\t};\n\t\t2DF0FFE82056DD460020B375 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;\n\t\t\tproxyType = 2;\n\t\t\tremoteGlobalIDString = 3D383D621EBD27B9005632C8;\n\t\t\tremoteInfo = \"double-conversion-tvOS\";\n\t\t};\n\t\t2DF0FFEA2056DD460020B375 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;\n\t\t\tproxyType = 2;\n\t\t\tremoteGlobalIDString = 9936F3131F5F2E4B0010BF04;\n\t\t\tremoteInfo = privatedata;\n\t\t};\n\t\t2DF0FFEC2056DD460020B375 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;\n\t\t\tproxyType = 2;\n\t\t\tremoteGlobalIDString = 9936F32F1F5F2E5B0010BF04;\n\t\t\tremoteInfo = \"privatedata-tvOS\";\n\t\t};\n\t\t3DAD3E831DF850E9000B6D8A /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */;\n\t\t\tproxyType = 2;\n\t\t\tremoteGlobalIDString = 2D2A283A1D9B042B00D4039D;\n\t\t\tremoteInfo = \"RCTImage-tvOS\";\n\t\t};\n\t\t3DAD3E871DF850E9000B6D8A /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */;\n\t\t\tproxyType = 2;\n\t\t\tremoteGlobalIDString = 2D2A28471D9B043800D4039D;\n\t\t\tremoteInfo = \"RCTLinking-tvOS\";\n\t\t};\n\t\t3DAD3E8B1DF850E9000B6D8A /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */;\n\t\t\tproxyType = 2;\n\t\t\tremoteGlobalIDString = 2D2A28541D9B044C00D4039D;\n\t\t\tremoteInfo = \"RCTNetwork-tvOS\";\n\t\t};\n\t\t3DAD3E8F1DF850E9000B6D8A /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */;\n\t\t\tproxyType = 2;\n\t\t\tremoteGlobalIDString = 2D2A28611D9B046600D4039D;\n\t\t\tremoteInfo = \"RCTSettings-tvOS\";\n\t\t};\n\t\t3DAD3E931DF850E9000B6D8A /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */;\n\t\t\tproxyType = 2;\n\t\t\tremoteGlobalIDString = 2D2A287B1D9B048500D4039D;\n\t\t\tremoteInfo = \"RCTText-tvOS\";\n\t\t};\n\t\t3DAD3E981DF850E9000B6D8A /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */;\n\t\t\tproxyType = 2;\n\t\t\tremoteGlobalIDString = 2D2A28881D9B049200D4039D;\n\t\t\tremoteInfo = \"RCTWebSocket-tvOS\";\n\t\t};\n\t\t3DAD3EA21DF850E9000B6D8A /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;\n\t\t\tproxyType = 2;\n\t\t\tremoteGlobalIDString = 2D2A28131D9B038B00D4039D;\n\t\t\tremoteInfo = \"React-tvOS\";\n\t\t};\n\t\t3DAD3EA41DF850E9000B6D8A /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;\n\t\t\tproxyType = 2;\n\t\t\tremoteGlobalIDString = 3D3C059A1DE3340900C268FA;\n\t\t\tremoteInfo = yoga;\n\t\t};\n\t\t3DAD3EA61DF850E9000B6D8A /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;\n\t\t\tproxyType = 2;\n\t\t\tremoteGlobalIDString = 3D3C06751DE3340C00C268FA;\n\t\t\tremoteInfo = \"yoga-tvOS\";\n\t\t};\n\t\t3DAD3EA81DF850E9000B6D8A /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;\n\t\t\tproxyType = 2;\n\t\t\tremoteGlobalIDString = 3D3CD9251DE5FBEC00167DC4;\n\t\t\tremoteInfo = cxxreact;\n\t\t};\n\t\t3DAD3EAA1DF850E9000B6D8A /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;\n\t\t\tproxyType = 2;\n\t\t\tremoteGlobalIDString = 3D3CD9321DE5FBEE00167DC4;\n\t\t\tremoteInfo = \"cxxreact-tvOS\";\n\t\t};\n\t\t3DAD3EAC1DF850E9000B6D8A /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;\n\t\t\tproxyType = 2;\n\t\t\tremoteGlobalIDString = 3D3CD90B1DE5FBD600167DC4;\n\t\t\tremoteInfo = jschelpers;\n\t\t};\n\t\t3DAD3EAE1DF850E9000B6D8A /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;\n\t\t\tproxyType = 2;\n\t\t\tremoteGlobalIDString = 3D3CD9181DE5FBD800167DC4;\n\t\t\tremoteInfo = \"jschelpers-tvOS\";\n\t\t};\n\t\t5E9157321DD0AC6500FF2AA8 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */;\n\t\t\tproxyType = 2;\n\t\t\tremoteGlobalIDString = 134814201AA4EA6300B7C361;\n\t\t\tremoteInfo = RCTAnimation;\n\t\t};\n\t\t5E9157341DD0AC6500FF2AA8 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */;\n\t\t\tproxyType = 2;\n\t\t\tremoteGlobalIDString = 2D2A28201D9B03D100D4039D;\n\t\t\tremoteInfo = \"RCTAnimation-tvOS\";\n\t\t};\n\t\t78C398B81ACF4ADC00677621 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */;\n\t\t\tproxyType = 2;\n\t\t\tremoteGlobalIDString = 134814201AA4EA6300B7C361;\n\t\t\tremoteInfo = RCTLinking;\n\t\t};\n\t\t832341B41AAA6A8300B99B32 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */;\n\t\t\tproxyType = 2;\n\t\t\tremoteGlobalIDString = 58B5119B1A9E6C1200147676;\n\t\t\tremoteInfo = RCTText;\n\t\t};\n\t\tADBDB9261DFEBF0700ED6528 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */;\n\t\t\tproxyType = 2;\n\t\t\tremoteGlobalIDString = 358F4ED71D1E81A9004DF814;\n\t\t\tremoteInfo = RCTBlob;\n\t\t};\n/* End PBXContainerItemProxy section */\n\n/* Begin PBXFileReference section */\n\t\t008F07F21AC5B25A0029DE68 /* main.jsbundle */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = main.jsbundle; sourceTree = \"<group>\"; };\n\t\t00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = \"wrapper.pb-project\"; name = RCTActionSheet.xcodeproj; path = \"../node_modules/react-native/Libraries/ActionSheetIOS/RCTActionSheet.xcodeproj\"; sourceTree = \"<group>\"; };\n\t\t00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = \"wrapper.pb-project\"; name = RCTGeolocation.xcodeproj; path = \"../node_modules/react-native/Libraries/Geolocation/RCTGeolocation.xcodeproj\"; sourceTree = \"<group>\"; };\n\t\t00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = \"wrapper.pb-project\"; name = RCTImage.xcodeproj; path = \"../node_modules/react-native/Libraries/Image/RCTImage.xcodeproj\"; sourceTree = \"<group>\"; };\n\t\t00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = \"wrapper.pb-project\"; name = RCTNetwork.xcodeproj; path = \"../node_modules/react-native/Libraries/Network/RCTNetwork.xcodeproj\"; sourceTree = \"<group>\"; };\n\t\t00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = \"wrapper.pb-project\"; name = RCTVibration.xcodeproj; path = \"../node_modules/react-native/Libraries/Vibration/RCTVibration.xcodeproj\"; sourceTree = \"<group>\"; };\n\t\t00E356EE1AD99517003FC87E /* rnrfReduxSampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = rnrfReduxSampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = \"<group>\"; };\n\t\t00E356F21AD99517003FC87E /* rnrfReduxSampleTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = rnrfReduxSampleTests.m; sourceTree = \"<group>\"; };\n\t\t139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = \"wrapper.pb-project\"; name = RCTSettings.xcodeproj; path = \"../node_modules/react-native/Libraries/Settings/RCTSettings.xcodeproj\"; sourceTree = \"<group>\"; };\n\t\t139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = \"wrapper.pb-project\"; name = RCTWebSocket.xcodeproj; path = \"../node_modules/react-native/Libraries/WebSocket/RCTWebSocket.xcodeproj\"; sourceTree = \"<group>\"; };\n\t\t13B07F961A680F5B00A75B9A /* rnrfReduxSample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = rnrfReduxSample.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = rnrfReduxSample/AppDelegate.h; sourceTree = \"<group>\"; };\n\t\t13B07FB01A68108700A75B9A /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = rnrfReduxSample/AppDelegate.m; sourceTree = \"<group>\"; };\n\t\t13B07FB21A68108700A75B9A /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = \"<group>\"; };\n\t\t13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = rnrfReduxSample/Images.xcassets; sourceTree = \"<group>\"; };\n\t\t13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = rnrfReduxSample/Info.plist; sourceTree = \"<group>\"; };\n\t\t13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = rnrfReduxSample/main.m; sourceTree = \"<group>\"; };\n\t\t146833FF1AC3E56700842450 /* React.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = \"wrapper.pb-project\"; name = React.xcodeproj; path = \"../node_modules/react-native/React/React.xcodeproj\"; sourceTree = \"<group>\"; };\n\t\t2D02E47B1E0B4A5D006451C7 /* rnrfReduxSample-tvOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = \"rnrfReduxSample-tvOS.app\"; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t2D02E4901E0B4A5D006451C7 /* rnrfReduxSample-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = \"rnrfReduxSample-tvOSTests.xctest\"; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t2D16E6891FA4F8E400B85C8A /* libReact.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libReact.a; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = \"wrapper.pb-project\"; name = RCTAnimation.xcodeproj; path = \"../node_modules/react-native/Libraries/NativeAnimation/RCTAnimation.xcodeproj\"; sourceTree = \"<group>\"; };\n\t\t78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = \"wrapper.pb-project\"; name = RCTLinking.xcodeproj; path = \"../node_modules/react-native/Libraries/LinkingIOS/RCTLinking.xcodeproj\"; sourceTree = \"<group>\"; };\n\t\t832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = \"wrapper.pb-project\"; name = RCTText.xcodeproj; path = \"../node_modules/react-native/Libraries/Text/RCTText.xcodeproj\"; sourceTree = \"<group>\"; };\n\t\tADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = \"wrapper.pb-project\"; name = RCTBlob.xcodeproj; path = \"../node_modules/react-native/Libraries/Blob/RCTBlob.xcodeproj\"; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\t00E356EB1AD99517003FC87E /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t140ED2AC1D01E1AD002B40FF /* libReact.a in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t13B07F8C1A680F5B00A75B9A /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tADBDB9381DFEBF1600ED6528 /* libRCTBlob.a in Frameworks */,\n\t\t\t\t5E9157361DD0AC6A00FF2AA8 /* libRCTAnimation.a in Frameworks */,\n\t\t\t\t146834051AC3E58100842450 /* libReact.a in Frameworks */,\n\t\t\t\t5E9157361DD0AC6A00FF2AA8 /* libRCTAnimation.a in Frameworks */,\n\t\t\t\t00C302E51ABCBA2D00DB3ED1 /* libRCTActionSheet.a in Frameworks */,\n\t\t\t\t00C302E71ABCBA2D00DB3ED1 /* libRCTGeolocation.a in Frameworks */,\n\t\t\t\t00C302E81ABCBA2D00DB3ED1 /* libRCTImage.a in Frameworks */,\n\t\t\t\t133E29F31AD74F7200F7D852 /* libRCTLinking.a in Frameworks */,\n\t\t\t\t00C302E91ABCBA2D00DB3ED1 /* libRCTNetwork.a in Frameworks */,\n\t\t\t\t139105C61AF99C1200B5F7CC /* libRCTSettings.a in Frameworks */,\n\t\t\t\t832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */,\n\t\t\t\t00C302EA1ABCBA2D00DB3ED1 /* libRCTVibration.a in Frameworks */,\n\t\t\t\t139FDEF61B0652A700C62182 /* libRCTWebSocket.a in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t2D02E4781E0B4A5D006451C7 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t2D16E6881FA4F8E400B85C8A /* libReact.a in Frameworks */,\n\t\t\t\t2D02E4C21E0B4AEC006451C7 /* libRCTAnimation.a in Frameworks */,\n\t\t\t\t2D02E4C31E0B4AEC006451C7 /* libRCTImage-tvOS.a in Frameworks */,\n\t\t\t\t2D02E4C41E0B4AEC006451C7 /* libRCTLinking-tvOS.a in Frameworks */,\n\t\t\t\t2D02E4C51E0B4AEC006451C7 /* libRCTNetwork-tvOS.a in Frameworks */,\n\t\t\t\t2D02E4C61E0B4AEC006451C7 /* libRCTSettings-tvOS.a in Frameworks */,\n\t\t\t\t2D02E4C71E0B4AEC006451C7 /* libRCTText-tvOS.a in Frameworks */,\n\t\t\t\t2D02E4C81E0B4AEC006451C7 /* libRCTWebSocket-tvOS.a in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t2D02E48D1E0B4A5D006451C7 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t2DF0FFEE2056DD460020B375 /* libReact.a in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\t00C302A81ABCB8CE00DB3ED1 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t00C302B61ABCB90400DB3ED1 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t00C302BA1ABCB90400DB3ED1 /* libRCTGeolocation.a */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t00C302BC1ABCB91800DB3ED1 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t00C302C01ABCB91800DB3ED1 /* libRCTImage.a */,\n\t\t\t\t3DAD3E841DF850E9000B6D8A /* libRCTImage-tvOS.a */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t00C302D41ABCB9D200DB3ED1 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t00C302DC1ABCB9D200DB3ED1 /* libRCTNetwork.a */,\n\t\t\t\t3DAD3E8C1DF850E9000B6D8A /* libRCTNetwork-tvOS.a */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t00C302E01ABCB9EE00DB3ED1 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t00C302E41ABCB9EE00DB3ED1 /* libRCTVibration.a */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t00E356EF1AD99517003FC87E /* rnrfReduxSampleTests */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t00E356F21AD99517003FC87E /* rnrfReduxSampleTests.m */,\n\t\t\t\t00E356F01AD99517003FC87E /* Supporting Files */,\n\t\t\t);\n\t\t\tpath = rnrfReduxSampleTests;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t00E356F01AD99517003FC87E /* Supporting Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t00E356F11AD99517003FC87E /* Info.plist */,\n\t\t\t);\n\t\t\tname = \"Supporting Files\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t139105B71AF99BAD00B5F7CC /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t139105C11AF99BAD00B5F7CC /* libRCTSettings.a */,\n\t\t\t\t3DAD3E901DF850E9000B6D8A /* libRCTSettings-tvOS.a */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t139FDEE71B06529A00C62182 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t139FDEF41B06529B00C62182 /* libRCTWebSocket.a */,\n\t\t\t\t3DAD3E991DF850E9000B6D8A /* libRCTWebSocket-tvOS.a */,\n\t\t\t\t2D16E6841FA4F8DC00B85C8A /* libfishhook.a */,\n\t\t\t\t2D16E6861FA4F8DC00B85C8A /* libfishhook-tvOS.a */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t13B07FAE1A68108700A75B9A /* rnrfReduxSample */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t008F07F21AC5B25A0029DE68 /* main.jsbundle */,\n\t\t\t\t13B07FAF1A68108700A75B9A /* AppDelegate.h */,\n\t\t\t\t13B07FB01A68108700A75B9A /* AppDelegate.m */,\n\t\t\t\t13B07FB51A68108700A75B9A /* Images.xcassets */,\n\t\t\t\t13B07FB61A68108700A75B9A /* Info.plist */,\n\t\t\t\t13B07FB11A68108700A75B9A /* LaunchScreen.xib */,\n\t\t\t\t13B07FB71A68108700A75B9A /* main.m */,\n\t\t\t);\n\t\t\tname = rnrfReduxSample;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t146834001AC3E56700842450 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t146834041AC3E56700842450 /* libReact.a */,\n\t\t\t\t3DAD3EA31DF850E9000B6D8A /* libReact.a */,\n\t\t\t\t3DAD3EA51DF850E9000B6D8A /* libyoga.a */,\n\t\t\t\t3DAD3EA71DF850E9000B6D8A /* libyoga.a */,\n\t\t\t\t3DAD3EA91DF850E9000B6D8A /* libcxxreact.a */,\n\t\t\t\t3DAD3EAB1DF850E9000B6D8A /* libcxxreact.a */,\n\t\t\t\t3DAD3EAD1DF850E9000B6D8A /* libjschelpers.a */,\n\t\t\t\t3DAD3EAF1DF850E9000B6D8A /* libjschelpers.a */,\n\t\t\t\t2DF0FFDF2056DD460020B375 /* libjsinspector.a */,\n\t\t\t\t2DF0FFE12056DD460020B375 /* libjsinspector-tvOS.a */,\n\t\t\t\t2DF0FFE32056DD460020B375 /* libthird-party.a */,\n\t\t\t\t2DF0FFE52056DD460020B375 /* libthird-party.a */,\n\t\t\t\t2DF0FFE72056DD460020B375 /* libdouble-conversion.a */,\n\t\t\t\t2DF0FFE92056DD460020B375 /* libdouble-conversion.a */,\n\t\t\t\t2DF0FFEB2056DD460020B375 /* libprivatedata.a */,\n\t\t\t\t2DF0FFED2056DD460020B375 /* libprivatedata-tvOS.a */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t2D16E6871FA4F8E400B85C8A /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t2D16E6891FA4F8E400B85C8A /* libReact.a */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t5E91572E1DD0AC6500FF2AA8 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t5E9157331DD0AC6500FF2AA8 /* libRCTAnimation.a */,\n\t\t\t\t5E9157351DD0AC6500FF2AA8 /* libRCTAnimation.a */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t78C398B11ACF4ADC00677621 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t78C398B91ACF4ADC00677621 /* libRCTLinking.a */,\n\t\t\t\t3DAD3E881DF850E9000B6D8A /* libRCTLinking-tvOS.a */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t832341AE1AAA6A7D00B99B32 /* Libraries */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */,\n\t\t\t\t146833FF1AC3E56700842450 /* React.xcodeproj */,\n\t\t\t\t00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */,\n\t\t\t\tADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */,\n\t\t\t\t00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */,\n\t\t\t\t00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */,\n\t\t\t\t78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */,\n\t\t\t\t00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */,\n\t\t\t\t139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */,\n\t\t\t\t832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */,\n\t\t\t\t00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */,\n\t\t\t\t139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */,\n\t\t\t);\n\t\t\tname = Libraries;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t832341B11AAA6A8300B99B32 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t832341B51AAA6A8300B99B32 /* libRCTText.a */,\n\t\t\t\t3DAD3E941DF850E9000B6D8A /* libRCTText-tvOS.a */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t83CBB9F61A601CBA00E9B192 = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t13B07FAE1A68108700A75B9A /* rnrfReduxSample */,\n\t\t\t\t832341AE1AAA6A7D00B99B32 /* Libraries */,\n\t\t\t\t00E356EF1AD99517003FC87E /* rnrfReduxSampleTests */,\n\t\t\t\t83CBBA001A601CBA00E9B192 /* Products */,\n\t\t\t\t2D16E6871FA4F8E400B85C8A /* Frameworks */,\n\t\t\t);\n\t\t\tindentWidth = 2;\n\t\t\tsourceTree = \"<group>\";\n\t\t\ttabWidth = 2;\n\t\t\tusesTabs = 0;\n\t\t};\n\t\t83CBBA001A601CBA00E9B192 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t13B07F961A680F5B00A75B9A /* rnrfReduxSample.app */,\n\t\t\t\t00E356EE1AD99517003FC87E /* rnrfReduxSampleTests.xctest */,\n\t\t\t\t2D02E47B1E0B4A5D006451C7 /* rnrfReduxSample-tvOS.app */,\n\t\t\t\t2D02E4901E0B4A5D006451C7 /* rnrfReduxSample-tvOSTests.xctest */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tADBDB9201DFEBF0600ED6528 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tADBDB9271DFEBF0700ED6528 /* libRCTBlob.a */,\n\t\t\t\t2D16E6721FA4F8DC00B85C8A /* libRCTBlob-tvOS.a */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\t00E356ED1AD99517003FC87E /* rnrfReduxSampleTests */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget \"rnrfReduxSampleTests\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t00E356EA1AD99517003FC87E /* Sources */,\n\t\t\t\t00E356EB1AD99517003FC87E /* Frameworks */,\n\t\t\t\t00E356EC1AD99517003FC87E /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t\t00E356F51AD99517003FC87E /* PBXTargetDependency */,\n\t\t\t);\n\t\t\tname = rnrfReduxSampleTests;\n\t\t\tproductName = rnrfReduxSampleTests;\n\t\t\tproductReference = 00E356EE1AD99517003FC87E /* rnrfReduxSampleTests.xctest */;\n\t\t\tproductType = \"com.apple.product-type.bundle.unit-test\";\n\t\t};\n\t\t13B07F861A680F5B00A75B9A /* rnrfReduxSample */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget \"rnrfReduxSample\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t13B07F871A680F5B00A75B9A /* Sources */,\n\t\t\t\t13B07F8C1A680F5B00A75B9A /* Frameworks */,\n\t\t\t\t13B07F8E1A680F5B00A75B9A /* Resources */,\n\t\t\t\t00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = rnrfReduxSample;\n\t\t\tproductName = \"Hello World\";\n\t\t\tproductReference = 13B07F961A680F5B00A75B9A /* rnrfReduxSample.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n\t\t2D02E47A1E0B4A5D006451C7 /* rnrfReduxSample-tvOS */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 2D02E4BA1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget \"rnrfReduxSample-tvOS\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t2D02E4771E0B4A5D006451C7 /* Sources */,\n\t\t\t\t2D02E4781E0B4A5D006451C7 /* Frameworks */,\n\t\t\t\t2D02E4791E0B4A5D006451C7 /* Resources */,\n\t\t\t\t2D02E4CB1E0B4B27006451C7 /* Bundle React Native Code And Images */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = \"rnrfReduxSample-tvOS\";\n\t\t\tproductName = \"rnrfReduxSample-tvOS\";\n\t\t\tproductReference = 2D02E47B1E0B4A5D006451C7 /* rnrfReduxSample-tvOS.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n\t\t2D02E48F1E0B4A5D006451C7 /* rnrfReduxSample-tvOSTests */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 2D02E4BB1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget \"rnrfReduxSample-tvOSTests\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t2D02E48C1E0B4A5D006451C7 /* Sources */,\n\t\t\t\t2D02E48D1E0B4A5D006451C7 /* Frameworks */,\n\t\t\t\t2D02E48E1E0B4A5D006451C7 /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t\t2D02E4921E0B4A5D006451C7 /* PBXTargetDependency */,\n\t\t\t);\n\t\t\tname = \"rnrfReduxSample-tvOSTests\";\n\t\t\tproductName = \"rnrfReduxSample-tvOSTests\";\n\t\t\tproductReference = 2D02E4901E0B4A5D006451C7 /* rnrfReduxSample-tvOSTests.xctest */;\n\t\t\tproductType = \"com.apple.product-type.bundle.unit-test\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\t83CBB9F71A601CBA00E9B192 /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastUpgradeCheck = 0610;\n\t\t\t\tORGANIZATIONNAME = Facebook;\n\t\t\t\tTargetAttributes = {\n\t\t\t\t\t00E356ED1AD99517003FC87E = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 6.2;\n\t\t\t\t\t\tTestTargetID = 13B07F861A680F5B00A75B9A;\n\t\t\t\t\t};\n\t\t\t\t\t2D02E47A1E0B4A5D006451C7 = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 8.2.1;\n\t\t\t\t\t\tProvisioningStyle = Automatic;\n\t\t\t\t\t};\n\t\t\t\t\t2D02E48F1E0B4A5D006451C7 = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 8.2.1;\n\t\t\t\t\t\tProvisioningStyle = Automatic;\n\t\t\t\t\t\tTestTargetID = 2D02E47A1E0B4A5D006451C7;\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t};\n\t\t\tbuildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject \"rnrfReduxSample\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t\tBase,\n\t\t\t);\n\t\t\tmainGroup = 83CBB9F61A601CBA00E9B192;\n\t\t\tproductRefGroup = 83CBBA001A601CBA00E9B192 /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectReferences = (\n\t\t\t\t{\n\t\t\t\t\tProductGroup = 00C302A81ABCB8CE00DB3ED1 /* Products */;\n\t\t\t\t\tProjectRef = 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */;\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tProductGroup = 5E91572E1DD0AC6500FF2AA8 /* Products */;\n\t\t\t\t\tProjectRef = 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */;\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tProductGroup = ADBDB9201DFEBF0600ED6528 /* Products */;\n\t\t\t\t\tProjectRef = ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */;\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tProductGroup = 00C302B61ABCB90400DB3ED1 /* Products */;\n\t\t\t\t\tProjectRef = 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */;\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tProductGroup = 00C302BC1ABCB91800DB3ED1 /* Products */;\n\t\t\t\t\tProjectRef = 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */;\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tProductGroup = 78C398B11ACF4ADC00677621 /* Products */;\n\t\t\t\t\tProjectRef = 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */;\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tProductGroup = 00C302D41ABCB9D200DB3ED1 /* Products */;\n\t\t\t\t\tProjectRef = 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */;\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tProductGroup = 139105B71AF99BAD00B5F7CC /* Products */;\n\t\t\t\t\tProjectRef = 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */;\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tProductGroup = 832341B11AAA6A8300B99B32 /* Products */;\n\t\t\t\t\tProjectRef = 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */;\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tProductGroup = 00C302E01ABCB9EE00DB3ED1 /* Products */;\n\t\t\t\t\tProjectRef = 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */;\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tProductGroup = 139FDEE71B06529A00C62182 /* Products */;\n\t\t\t\t\tProjectRef = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */;\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tProductGroup = 146834001AC3E56700842450 /* Products */;\n\t\t\t\t\tProjectRef = 146833FF1AC3E56700842450 /* React.xcodeproj */;\n\t\t\t\t},\n\t\t\t);\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\t13B07F861A680F5B00A75B9A /* rnrfReduxSample */,\n\t\t\t\t00E356ED1AD99517003FC87E /* rnrfReduxSampleTests */,\n\t\t\t\t2D02E47A1E0B4A5D006451C7 /* rnrfReduxSample-tvOS */,\n\t\t\t\t2D02E48F1E0B4A5D006451C7 /* rnrfReduxSample-tvOSTests */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXReferenceProxy section */\n\t\t00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */ = {\n\t\t\tisa = PBXReferenceProxy;\n\t\t\tfileType = archive.ar;\n\t\t\tpath = libRCTActionSheet.a;\n\t\t\tremoteRef = 00C302AB1ABCB8CE00DB3ED1 /* PBXContainerItemProxy */;\n\t\t\tsourceTree = BUILT_PRODUCTS_DIR;\n\t\t};\n\t\t00C302BA1ABCB90400DB3ED1 /* libRCTGeolocation.a */ = {\n\t\t\tisa = PBXReferenceProxy;\n\t\t\tfileType = archive.ar;\n\t\t\tpath = libRCTGeolocation.a;\n\t\t\tremoteRef = 00C302B91ABCB90400DB3ED1 /* PBXContainerItemProxy */;\n\t\t\tsourceTree = BUILT_PRODUCTS_DIR;\n\t\t};\n\t\t00C302C01ABCB91800DB3ED1 /* libRCTImage.a */ = {\n\t\t\tisa = PBXReferenceProxy;\n\t\t\tfileType = archive.ar;\n\t\t\tpath = libRCTImage.a;\n\t\t\tremoteRef = 00C302BF1ABCB91800DB3ED1 /* PBXContainerItemProxy */;\n\t\t\tsourceTree = BUILT_PRODUCTS_DIR;\n\t\t};\n\t\t00C302DC1ABCB9D200DB3ED1 /* libRCTNetwork.a */ = {\n\t\t\tisa = PBXReferenceProxy;\n\t\t\tfileType = archive.ar;\n\t\t\tpath = libRCTNetwork.a;\n\t\t\tremoteRef = 00C302DB1ABCB9D200DB3ED1 /* PBXContainerItemProxy */;\n\t\t\tsourceTree = BUILT_PRODUCTS_DIR;\n\t\t};\n\t\t00C302E41ABCB9EE00DB3ED1 /* libRCTVibration.a */ = {\n\t\t\tisa = PBXReferenceProxy;\n\t\t\tfileType = archive.ar;\n\t\t\tpath = libRCTVibration.a;\n\t\t\tremoteRef = 00C302E31ABCB9EE00DB3ED1 /* PBXContainerItemProxy */;\n\t\t\tsourceTree = BUILT_PRODUCTS_DIR;\n\t\t};\n\t\t139105C11AF99BAD00B5F7CC /* libRCTSettings.a */ = {\n\t\t\tisa = PBXReferenceProxy;\n\t\t\tfileType = archive.ar;\n\t\t\tpath = libRCTSettings.a;\n\t\t\tremoteRef = 139105C01AF99BAD00B5F7CC /* PBXContainerItemProxy */;\n\t\t\tsourceTree = BUILT_PRODUCTS_DIR;\n\t\t};\n\t\t139FDEF41B06529B00C62182 /* libRCTWebSocket.a */ = {\n\t\t\tisa = PBXReferenceProxy;\n\t\t\tfileType = archive.ar;\n\t\t\tpath = libRCTWebSocket.a;\n\t\t\tremoteRef = 139FDEF31B06529B00C62182 /* PBXContainerItemProxy */;\n\t\t\tsourceTree = BUILT_PRODUCTS_DIR;\n\t\t};\n\t\t146834041AC3E56700842450 /* libReact.a */ = {\n\t\t\tisa = PBXReferenceProxy;\n\t\t\tfileType = archive.ar;\n\t\t\tpath = libReact.a;\n\t\t\tremoteRef = 146834031AC3E56700842450 /* PBXContainerItemProxy */;\n\t\t\tsourceTree = BUILT_PRODUCTS_DIR;\n\t\t};\n\t\t2D16E6721FA4F8DC00B85C8A /* libRCTBlob-tvOS.a */ = {\n\t\t\tisa = PBXReferenceProxy;\n\t\t\tfileType = archive.ar;\n\t\t\tpath = \"libRCTBlob-tvOS.a\";\n\t\t\tremoteRef = 2D16E6711FA4F8DC00B85C8A /* PBXContainerItemProxy */;\n\t\t\tsourceTree = BUILT_PRODUCTS_DIR;\n\t\t};\n\t\t2D16E6841FA4F8DC00B85C8A /* libfishhook.a */ = {\n\t\t\tisa = PBXReferenceProxy;\n\t\t\tfileType = archive.ar;\n\t\t\tpath = libfishhook.a;\n\t\t\tremoteRef = 2D16E6831FA4F8DC00B85C8A /* PBXContainerItemProxy */;\n\t\t\tsourceTree = BUILT_PRODUCTS_DIR;\n\t\t};\n\t\t2D16E6861FA4F8DC00B85C8A /* libfishhook-tvOS.a */ = {\n\t\t\tisa = PBXReferenceProxy;\n\t\t\tfileType = archive.ar;\n\t\t\tpath = \"libfishhook-tvOS.a\";\n\t\t\tremoteRef = 2D16E6851FA4F8DC00B85C8A /* PBXContainerItemProxy */;\n\t\t\tsourceTree = BUILT_PRODUCTS_DIR;\n\t\t};\n\t\t2DF0FFDF2056DD460020B375 /* libjsinspector.a */ = {\n\t\t\tisa = PBXReferenceProxy;\n\t\t\tfileType = archive.ar;\n\t\t\tpath = libjsinspector.a;\n\t\t\tremoteRef = 2DF0FFDE2056DD460020B375 /* PBXContainerItemProxy */;\n\t\t\tsourceTree = BUILT_PRODUCTS_DIR;\n\t\t};\n\t\t2DF0FFE12056DD460020B375 /* libjsinspector-tvOS.a */ = {\n\t\t\tisa = PBXReferenceProxy;\n\t\t\tfileType = archive.ar;\n\t\t\tpath = \"libjsinspector-tvOS.a\";\n\t\t\tremoteRef = 2DF0FFE02056DD460020B375 /* PBXContainerItemProxy */;\n\t\t\tsourceTree = BUILT_PRODUCTS_DIR;\n\t\t};\n\t\t2DF0FFE32056DD460020B375 /* libthird-party.a */ = {\n\t\t\tisa = PBXReferenceProxy;\n\t\t\tfileType = archive.ar;\n\t\t\tpath = \"libthird-party.a\";\n\t\t\tremoteRef = 2DF0FFE22056DD460020B375 /* PBXContainerItemProxy */;\n\t\t\tsourceTree = BUILT_PRODUCTS_DIR;\n\t\t};\n\t\t2DF0FFE52056DD460020B375 /* libthird-party.a */ = {\n\t\t\tisa = PBXReferenceProxy;\n\t\t\tfileType = archive.ar;\n\t\t\tpath = \"libthird-party.a\";\n\t\t\tremoteRef = 2DF0FFE42056DD460020B375 /* PBXContainerItemProxy */;\n\t\t\tsourceTree = BUILT_PRODUCTS_DIR;\n\t\t};\n\t\t2DF0FFE72056DD460020B375 /* libdouble-conversion.a */ = {\n\t\t\tisa = PBXReferenceProxy;\n\t\t\tfileType = archive.ar;\n\t\t\tpath = \"libdouble-conversion.a\";\n\t\t\tremoteRef = 2DF0FFE62056DD460020B375 /* PBXContainerItemProxy */;\n\t\t\tsourceTree = BUILT_PRODUCTS_DIR;\n\t\t};\n\t\t2DF0FFE92056DD460020B375 /* libdouble-conversion.a */ = {\n\t\t\tisa = PBXReferenceProxy;\n\t\t\tfileType = archive.ar;\n\t\t\tpath = \"libdouble-conversion.a\";\n\t\t\tremoteRef = 2DF0FFE82056DD460020B375 /* PBXContainerItemProxy */;\n\t\t\tsourceTree = BUILT_PRODUCTS_DIR;\n\t\t};\n\t\t2DF0FFEB2056DD460020B375 /* libprivatedata.a */ = {\n\t\t\tisa = PBXReferenceProxy;\n\t\t\tfileType = archive.ar;\n\t\t\tpath = libprivatedata.a;\n\t\t\tremoteRef = 2DF0FFEA2056DD460020B375 /* PBXContainerItemProxy */;\n\t\t\tsourceTree = BUILT_PRODUCTS_DIR;\n\t\t};\n\t\t2DF0FFED2056DD460020B375 /* libprivatedata-tvOS.a */ = {\n\t\t\tisa = PBXReferenceProxy;\n\t\t\tfileType = archive.ar;\n\t\t\tpath = \"libprivatedata-tvOS.a\";\n\t\t\tremoteRef = 2DF0FFEC2056DD460020B375 /* PBXContainerItemProxy */;\n\t\t\tsourceTree = BUILT_PRODUCTS_DIR;\n\t\t};\n\t\t3DAD3E841DF850E9000B6D8A /* libRCTImage-tvOS.a */ = {\n\t\t\tisa = PBXReferenceProxy;\n\t\t\tfileType = archive.ar;\n\t\t\tpath = \"libRCTImage-tvOS.a\";\n\t\t\tremoteRef = 3DAD3E831DF850E9000B6D8A /* PBXContainerItemProxy */;\n\t\t\tsourceTree = BUILT_PRODUCTS_DIR;\n\t\t};\n\t\t3DAD3E881DF850E9000B6D8A /* libRCTLinking-tvOS.a */ = {\n\t\t\tisa = PBXReferenceProxy;\n\t\t\tfileType = archive.ar;\n\t\t\tpath = \"libRCTLinking-tvOS.a\";\n\t\t\tremoteRef = 3DAD3E871DF850E9000B6D8A /* PBXContainerItemProxy */;\n\t\t\tsourceTree = BUILT_PRODUCTS_DIR;\n\t\t};\n\t\t3DAD3E8C1DF850E9000B6D8A /* libRCTNetwork-tvOS.a */ = {\n\t\t\tisa = PBXReferenceProxy;\n\t\t\tfileType = archive.ar;\n\t\t\tpath = \"libRCTNetwork-tvOS.a\";\n\t\t\tremoteRef = 3DAD3E8B1DF850E9000B6D8A /* PBXContainerItemProxy */;\n\t\t\tsourceTree = BUILT_PRODUCTS_DIR;\n\t\t};\n\t\t3DAD3E901DF850E9000B6D8A /* libRCTSettings-tvOS.a */ = {\n\t\t\tisa = PBXReferenceProxy;\n\t\t\tfileType = archive.ar;\n\t\t\tpath = \"libRCTSettings-tvOS.a\";\n\t\t\tremoteRef = 3DAD3E8F1DF850E9000B6D8A /* PBXContainerItemProxy */;\n\t\t\tsourceTree = BUILT_PRODUCTS_DIR;\n\t\t};\n\t\t3DAD3E941DF850E9000B6D8A /* libRCTText-tvOS.a */ = {\n\t\t\tisa = PBXReferenceProxy;\n\t\t\tfileType = archive.ar;\n\t\t\tpath = \"libRCTText-tvOS.a\";\n\t\t\tremoteRef = 3DAD3E931DF850E9000B6D8A /* PBXContainerItemProxy */;\n\t\t\tsourceTree = BUILT_PRODUCTS_DIR;\n\t\t};\n\t\t3DAD3E991DF850E9000B6D8A /* libRCTWebSocket-tvOS.a */ = {\n\t\t\tisa = PBXReferenceProxy;\n\t\t\tfileType = archive.ar;\n\t\t\tpath = \"libRCTWebSocket-tvOS.a\";\n\t\t\tremoteRef = 3DAD3E981DF850E9000B6D8A /* PBXContainerItemProxy */;\n\t\t\tsourceTree = BUILT_PRODUCTS_DIR;\n\t\t};\n\t\t3DAD3EA31DF850E9000B6D8A /* libReact.a */ = {\n\t\t\tisa = PBXReferenceProxy;\n\t\t\tfileType = archive.ar;\n\t\t\tpath = libReact.a;\n\t\t\tremoteRef = 3DAD3EA21DF850E9000B6D8A /* PBXContainerItemProxy */;\n\t\t\tsourceTree = BUILT_PRODUCTS_DIR;\n\t\t};\n\t\t3DAD3EA51DF850E9000B6D8A /* libyoga.a */ = {\n\t\t\tisa = PBXReferenceProxy;\n\t\t\tfileType = archive.ar;\n\t\t\tpath = libyoga.a;\n\t\t\tremoteRef = 3DAD3EA41DF850E9000B6D8A /* PBXContainerItemProxy */;\n\t\t\tsourceTree = BUILT_PRODUCTS_DIR;\n\t\t};\n\t\t3DAD3EA71DF850E9000B6D8A /* libyoga.a */ = {\n\t\t\tisa = PBXReferenceProxy;\n\t\t\tfileType = archive.ar;\n\t\t\tpath = libyoga.a;\n\t\t\tremoteRef = 3DAD3EA61DF850E9000B6D8A /* PBXContainerItemProxy */;\n\t\t\tsourceTree = BUILT_PRODUCTS_DIR;\n\t\t};\n\t\t3DAD3EA91DF850E9000B6D8A /* libcxxreact.a */ = {\n\t\t\tisa = PBXReferenceProxy;\n\t\t\tfileType = archive.ar;\n\t\t\tpath = libcxxreact.a;\n\t\t\tremoteRef = 3DAD3EA81DF850E9000B6D8A /* PBXContainerItemProxy */;\n\t\t\tsourceTree = BUILT_PRODUCTS_DIR;\n\t\t};\n\t\t3DAD3EAB1DF850E9000B6D8A /* libcxxreact.a */ = {\n\t\t\tisa = PBXReferenceProxy;\n\t\t\tfileType = archive.ar;\n\t\t\tpath = libcxxreact.a;\n\t\t\tremoteRef = 3DAD3EAA1DF850E9000B6D8A /* PBXContainerItemProxy */;\n\t\t\tsourceTree = BUILT_PRODUCTS_DIR;\n\t\t};\n\t\t3DAD3EAD1DF850E9000B6D8A /* libjschelpers.a */ = {\n\t\t\tisa = PBXReferenceProxy;\n\t\t\tfileType = archive.ar;\n\t\t\tpath = libjschelpers.a;\n\t\t\tremoteRef = 3DAD3EAC1DF850E9000B6D8A /* PBXContainerItemProxy */;\n\t\t\tsourceTree = BUILT_PRODUCTS_DIR;\n\t\t};\n\t\t3DAD3EAF1DF850E9000B6D8A /* libjschelpers.a */ = {\n\t\t\tisa = PBXReferenceProxy;\n\t\t\tfileType = archive.ar;\n\t\t\tpath = libjschelpers.a;\n\t\t\tremoteRef = 3DAD3EAE1DF850E9000B6D8A /* PBXContainerItemProxy */;\n\t\t\tsourceTree = BUILT_PRODUCTS_DIR;\n\t\t};\n\t\t5E9157331DD0AC6500FF2AA8 /* libRCTAnimation.a */ = {\n\t\t\tisa = PBXReferenceProxy;\n\t\t\tfileType = archive.ar;\n\t\t\tpath = libRCTAnimation.a;\n\t\t\tremoteRef = 5E9157321DD0AC6500FF2AA8 /* PBXContainerItemProxy */;\n\t\t\tsourceTree = BUILT_PRODUCTS_DIR;\n\t\t};\n\t\t5E9157351DD0AC6500FF2AA8 /* libRCTAnimation.a */ = {\n\t\t\tisa = PBXReferenceProxy;\n\t\t\tfileType = archive.ar;\n\t\t\tpath = libRCTAnimation.a;\n\t\t\tremoteRef = 5E9157341DD0AC6500FF2AA8 /* PBXContainerItemProxy */;\n\t\t\tsourceTree = BUILT_PRODUCTS_DIR;\n\t\t};\n\t\t78C398B91ACF4ADC00677621 /* libRCTLinking.a */ = {\n\t\t\tisa = PBXReferenceProxy;\n\t\t\tfileType = archive.ar;\n\t\t\tpath = libRCTLinking.a;\n\t\t\tremoteRef = 78C398B81ACF4ADC00677621 /* PBXContainerItemProxy */;\n\t\t\tsourceTree = BUILT_PRODUCTS_DIR;\n\t\t};\n\t\t832341B51AAA6A8300B99B32 /* libRCTText.a */ = {\n\t\t\tisa = PBXReferenceProxy;\n\t\t\tfileType = archive.ar;\n\t\t\tpath = libRCTText.a;\n\t\t\tremoteRef = 832341B41AAA6A8300B99B32 /* PBXContainerItemProxy */;\n\t\t\tsourceTree = BUILT_PRODUCTS_DIR;\n\t\t};\n\t\tADBDB9271DFEBF0700ED6528 /* libRCTBlob.a */ = {\n\t\t\tisa = PBXReferenceProxy;\n\t\t\tfileType = archive.ar;\n\t\t\tpath = libRCTBlob.a;\n\t\t\tremoteRef = ADBDB9261DFEBF0700ED6528 /* PBXContainerItemProxy */;\n\t\t\tsourceTree = BUILT_PRODUCTS_DIR;\n\t\t};\n/* End PBXReferenceProxy section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\t00E356EC1AD99517003FC87E /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t13B07F8E1A680F5B00A75B9A /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */,\n\t\t\t\t13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t2D02E4791E0B4A5D006451C7 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t2D02E4BD1E0B4A84006451C7 /* Images.xcassets in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t2D02E48E1E0B4A5D006451C7 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXShellScriptBuildPhase section */\n\t\t00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"Bundle React Native code and images\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"export NODE_BINARY=node\\n../node_modules/react-native/scripts/react-native-xcode.sh\";\n\t\t};\n\t\t2D02E4CB1E0B4B27006451C7 /* Bundle React Native Code And Images */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"Bundle React Native Code And Images\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"export NODE_BINARY=node\\n../node_modules/react-native/scripts/react-native-xcode.sh\";\n\t\t};\n/* End PBXShellScriptBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\t00E356EA1AD99517003FC87E /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t00E356F31AD99517003FC87E /* rnrfReduxSampleTests.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t13B07F871A680F5B00A75B9A /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */,\n\t\t\t\t13B07FC11A68108700A75B9A /* main.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t2D02E4771E0B4A5D006451C7 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t2D02E4BF1E0B4AB3006451C7 /* main.m in Sources */,\n\t\t\t\t2D02E4BC1E0B4A80006451C7 /* AppDelegate.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t2D02E48C1E0B4A5D006451C7 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t2DCD954D1E0B4F2C00145EB5 /* rnrfReduxSampleTests.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXTargetDependency section */\n\t\t00E356F51AD99517003FC87E /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\ttarget = 13B07F861A680F5B00A75B9A /* rnrfReduxSample */;\n\t\t\ttargetProxy = 00E356F41AD99517003FC87E /* PBXContainerItemProxy */;\n\t\t};\n\t\t2D02E4921E0B4A5D006451C7 /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\ttarget = 2D02E47A1E0B4A5D006451C7 /* rnrfReduxSample-tvOS */;\n\t\t\ttargetProxy = 2D02E4911E0B4A5D006451C7 /* PBXContainerItemProxy */;\n\t\t};\n/* End PBXTargetDependency section */\n\n/* Begin PBXVariantGroup section */\n\t\t13B07FB11A68108700A75B9A /* LaunchScreen.xib */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\t13B07FB21A68108700A75B9A /* Base */,\n\t\t\t);\n\t\t\tname = LaunchScreen.xib;\n\t\t\tpath = rnrfReduxSample;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXVariantGroup section */\n\n/* Begin XCBuildConfiguration section */\n\t\t00E356F61AD99517003FC87E /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tBUNDLE_LOADER = \"$(TEST_HOST)\";\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tINFOPLIST_FILE = rnrfReduxSampleTests/Info.plist;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 9.0;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tOTHER_LDFLAGS = (\n\t\t\t\t\t\"-ObjC\",\n\t\t\t\t\t\"-lc++\",\n\t\t\t\t);\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tTEST_HOST = \"$(BUILT_PRODUCTS_DIR)/rnrfReduxSample.app/rnrfReduxSample\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t00E356F71AD99517003FC87E /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tBUNDLE_LOADER = \"$(TEST_HOST)\";\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tINFOPLIST_FILE = rnrfReduxSampleTests/Info.plist;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 9.0;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tOTHER_LDFLAGS = (\n\t\t\t\t\t\"-ObjC\",\n\t\t\t\t\t\"-lc++\",\n\t\t\t\t);\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tTEST_HOST = \"$(BUILT_PRODUCTS_DIR)/rnrfReduxSample.app/rnrfReduxSample\";\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t13B07F941A680F5B00A75B9A /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;\n\t\t\t\tCURRENT_PROJECT_VERSION = 1;\n\t\t\t\tDEAD_CODE_STRIPPING = NO;\n\t\t\t\tINFOPLIST_FILE = rnrfReduxSample/Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks\";\n\t\t\t\tOTHER_LDFLAGS = (\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t\t\"-ObjC\",\n\t\t\t\t\t\"-lc++\",\n\t\t\t\t);\n\t\t\t\tPRODUCT_NAME = rnrfReduxSample;\n\t\t\t\tVERSIONING_SYSTEM = \"apple-generic\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t13B07F951A680F5B00A75B9A /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;\n\t\t\t\tCURRENT_PROJECT_VERSION = 1;\n\t\t\t\tINFOPLIST_FILE = rnrfReduxSample/Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks\";\n\t\t\t\tOTHER_LDFLAGS = (\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t\t\"-ObjC\",\n\t\t\t\t\t\"-lc++\",\n\t\t\t\t);\n\t\t\t\tPRODUCT_NAME = rnrfReduxSample;\n\t\t\t\tVERSIONING_SYSTEM = \"apple-generic\";\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t2D02E4971E0B4A5E006451C7 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tASSETCATALOG_COMPILER_APPICON_NAME = \"App Icon & Top Shelf Image\";\n\t\t\t\tASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;\n\t\t\t\tCLANG_ANALYZER_NONNULL = YES;\n\t\t\t\tCLANG_WARN_DOCUMENTATION_COMMENTS = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = dwarf;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tINFOPLIST_FILE = \"rnrfReduxSample-tvOS/Info.plist\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks\";\n\t\t\t\tOTHER_LDFLAGS = (\n\t\t\t\t\t\"-ObjC\",\n\t\t\t\t\t\"-lc++\",\n\t\t\t\t);\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.facebook.REACT.rnrfReduxSample-tvOS\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSDKROOT = appletvos;\n\t\t\t\tTARGETED_DEVICE_FAMILY = 3;\n\t\t\t\tTVOS_DEPLOYMENT_TARGET = 9.2;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t2D02E4981E0B4A5E006451C7 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tASSETCATALOG_COMPILER_APPICON_NAME = \"App Icon & Top Shelf Image\";\n\t\t\t\tASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;\n\t\t\t\tCLANG_ANALYZER_NONNULL = YES;\n\t\t\t\tCLANG_WARN_DOCUMENTATION_COMMENTS = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tINFOPLIST_FILE = \"rnrfReduxSample-tvOS/Info.plist\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks\";\n\t\t\t\tOTHER_LDFLAGS = (\n\t\t\t\t\t\"-ObjC\",\n\t\t\t\t\t\"-lc++\",\n\t\t\t\t);\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.facebook.REACT.rnrfReduxSample-tvOS\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSDKROOT = appletvos;\n\t\t\t\tTARGETED_DEVICE_FAMILY = 3;\n\t\t\t\tTVOS_DEPLOYMENT_TARGET = 9.2;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t2D02E4991E0B4A5E006451C7 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tBUNDLE_LOADER = \"$(TEST_HOST)\";\n\t\t\t\tCLANG_ANALYZER_NONNULL = YES;\n\t\t\t\tCLANG_WARN_DOCUMENTATION_COMMENTS = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = dwarf;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tINFOPLIST_FILE = \"rnrfReduxSample-tvOSTests/Info.plist\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tOTHER_LDFLAGS = (\n\t\t\t\t\t\"-ObjC\",\n\t\t\t\t\t\"-lc++\",\n\t\t\t\t);\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.facebook.REACT.rnrfReduxSample-tvOSTests\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSDKROOT = appletvos;\n\t\t\t\tTEST_HOST = \"$(BUILT_PRODUCTS_DIR)/rnrfReduxSample-tvOS.app/rnrfReduxSample-tvOS\";\n\t\t\t\tTVOS_DEPLOYMENT_TARGET = 10.1;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t2D02E49A1E0B4A5E006451C7 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tBUNDLE_LOADER = \"$(TEST_HOST)\";\n\t\t\t\tCLANG_ANALYZER_NONNULL = YES;\n\t\t\t\tCLANG_WARN_DOCUMENTATION_COMMENTS = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tINFOPLIST_FILE = \"rnrfReduxSample-tvOSTests/Info.plist\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tOTHER_LDFLAGS = (\n\t\t\t\t\t\"-ObjC\",\n\t\t\t\t\t\"-lc++\",\n\t\t\t\t);\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.facebook.REACT.rnrfReduxSample-tvOSTests\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSDKROOT = appletvos;\n\t\t\t\tTEST_HOST = \"$(BUILT_PRODUCTS_DIR)/rnrfReduxSample-tvOS.app/rnrfReduxSample-tvOS\";\n\t\t\t\tTVOS_DEPLOYMENT_TARGET = 10.1;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t83CBBA201A601CBA00E9B192 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_SYMBOLS_PRIVATE_EXTERN = NO;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 9.0;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = YES;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t83CBBA211A601CBA00E9B192 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = YES;\n\t\t\t\tENABLE_NS_ASSERTIONS = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 9.0;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = NO;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tVALIDATE_PRODUCT = YES;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\t00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget \"rnrfReduxSampleTests\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t00E356F61AD99517003FC87E /* Debug */,\n\t\t\t\t00E356F71AD99517003FC87E /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget \"rnrfReduxSample\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t13B07F941A680F5B00A75B9A /* Debug */,\n\t\t\t\t13B07F951A680F5B00A75B9A /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t2D02E4BA1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget \"rnrfReduxSample-tvOS\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t2D02E4971E0B4A5E006451C7 /* Debug */,\n\t\t\t\t2D02E4981E0B4A5E006451C7 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t2D02E4BB1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget \"rnrfReduxSample-tvOSTests\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t2D02E4991E0B4A5E006451C7 /* Debug */,\n\t\t\t\t2D02E49A1E0B4A5E006451C7 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject \"rnrfReduxSample\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t83CBBA201A601CBA00E9B192 /* Debug */,\n\t\t\t\t83CBBA211A601CBA00E9B192 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = 83CBB9F71A601CBA00E9B192 /* Project object */;\n}\n"
  },
  {
    "path": "examples/redux/ios/rnrfReduxSample.xcodeproj/xcshareddata/xcschemes/rnrfReduxSample-tvOS.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0820\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"NO\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"2D2A28121D9B038B00D4039D\"\n               BuildableName = \"libReact.a\"\n               BlueprintName = \"React-tvOS\"\n               ReferencedContainer = \"container:../node_modules/react-native/React/React.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"2D02E47A1E0B4A5D006451C7\"\n               BuildableName = \"rnrfReduxSample-tvOS.app\"\n               BlueprintName = \"rnrfReduxSample-tvOS\"\n               ReferencedContainer = \"container:rnrfReduxSample.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"NO\"\n            buildForArchiving = \"NO\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"2D02E48F1E0B4A5D006451C7\"\n               BuildableName = \"rnrfReduxSample-tvOSTests.xctest\"\n               BlueprintName = \"rnrfReduxSample-tvOSTests\"\n               ReferencedContainer = \"container:rnrfReduxSample.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n         <TestableReference\n            skipped = \"NO\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"2D02E48F1E0B4A5D006451C7\"\n               BuildableName = \"rnrfReduxSample-tvOSTests.xctest\"\n               BlueprintName = \"rnrfReduxSample-tvOSTests\"\n               ReferencedContainer = \"container:rnrfReduxSample.xcodeproj\">\n            </BuildableReference>\n         </TestableReference>\n      </Testables>\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"2D02E47A1E0B4A5D006451C7\"\n            BuildableName = \"rnrfReduxSample-tvOS.app\"\n            BlueprintName = \"rnrfReduxSample-tvOS\"\n            ReferencedContainer = \"container:rnrfReduxSample.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"2D02E47A1E0B4A5D006451C7\"\n            BuildableName = \"rnrfReduxSample-tvOS.app\"\n            BlueprintName = \"rnrfReduxSample-tvOS\"\n            ReferencedContainer = \"container:rnrfReduxSample.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"2D02E47A1E0B4A5D006451C7\"\n            BuildableName = \"rnrfReduxSample-tvOS.app\"\n            BlueprintName = \"rnrfReduxSample-tvOS\"\n            ReferencedContainer = \"container:rnrfReduxSample.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "examples/redux/ios/rnrfReduxSample.xcodeproj/xcshareddata/xcschemes/rnrfReduxSample.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0620\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"NO\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"83CBBA2D1A601D0E00E9B192\"\n               BuildableName = \"libReact.a\"\n               BlueprintName = \"React\"\n               ReferencedContainer = \"container:../node_modules/react-native/React/React.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"13B07F861A680F5B00A75B9A\"\n               BuildableName = \"rnrfReduxSample.app\"\n               BlueprintName = \"rnrfReduxSample\"\n               ReferencedContainer = \"container:rnrfReduxSample.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"NO\"\n            buildForArchiving = \"NO\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"00E356ED1AD99517003FC87E\"\n               BuildableName = \"rnrfReduxSampleTests.xctest\"\n               BlueprintName = \"rnrfReduxSampleTests\"\n               ReferencedContainer = \"container:rnrfReduxSample.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n         <TestableReference\n            skipped = \"NO\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"00E356ED1AD99517003FC87E\"\n               BuildableName = \"rnrfReduxSampleTests.xctest\"\n               BlueprintName = \"rnrfReduxSampleTests\"\n               ReferencedContainer = \"container:rnrfReduxSample.xcodeproj\">\n            </BuildableReference>\n         </TestableReference>\n      </Testables>\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"13B07F861A680F5B00A75B9A\"\n            BuildableName = \"rnrfReduxSample.app\"\n            BlueprintName = \"rnrfReduxSample\"\n            ReferencedContainer = \"container:rnrfReduxSample.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"13B07F861A680F5B00A75B9A\"\n            BuildableName = \"rnrfReduxSample.app\"\n            BlueprintName = \"rnrfReduxSample\"\n            ReferencedContainer = \"container:rnrfReduxSample.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"13B07F861A680F5B00A75B9A\"\n            BuildableName = \"rnrfReduxSample.app\"\n            BlueprintName = \"rnrfReduxSample\"\n            ReferencedContainer = \"container:rnrfReduxSample.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "examples/redux/ios/rnrfReduxSampleTests/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>BNDL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "examples/redux/ios/rnrfReduxSampleTests/rnrfReduxSampleTests.m",
    "content": "/**\n * Copyright (c) 2015-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n#import <UIKit/UIKit.h>\n#import <XCTest/XCTest.h>\n\n#import <React/RCTLog.h>\n#import <React/RCTRootView.h>\n\n#define TIMEOUT_SECONDS 600\n#define TEXT_TO_LOOK_FOR @\"Welcome to React Native!\"\n\n@interface rnrfReduxSampleTests : XCTestCase\n\n@end\n\n@implementation rnrfReduxSampleTests\n\n- (BOOL)findSubviewInView:(UIView *)view matching:(BOOL(^)(UIView *view))test\n{\n  if (test(view)) {\n    return YES;\n  }\n  for (UIView *subview in [view subviews]) {\n    if ([self findSubviewInView:subview matching:test]) {\n      return YES;\n    }\n  }\n  return NO;\n}\n\n- (void)testRendersWelcomeScreen\n{\n  UIViewController *vc = [[[RCTSharedApplication() delegate] window] rootViewController];\n  NSDate *date = [NSDate dateWithTimeIntervalSinceNow:TIMEOUT_SECONDS];\n  BOOL foundElement = NO;\n\n  __block NSString *redboxError = nil;\n  RCTSetLogFunction(^(RCTLogLevel level, RCTLogSource source, NSString *fileName, NSNumber *lineNumber, NSString *message) {\n    if (level >= RCTLogLevelError) {\n      redboxError = message;\n    }\n  });\n\n  while ([date timeIntervalSinceNow] > 0 && !foundElement && !redboxError) {\n    [[NSRunLoop mainRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]];\n    [[NSRunLoop mainRunLoop] runMode:NSRunLoopCommonModes beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]];\n\n    foundElement = [self findSubviewInView:vc.view matching:^BOOL(UIView *view) {\n      if ([view.accessibilityLabel isEqualToString:TEXT_TO_LOOK_FOR]) {\n        return YES;\n      }\n      return NO;\n    }];\n  }\n\n  RCTSetLogFunction(RCTDefaultLogFunction);\n\n  XCTAssertNil(redboxError, @\"RedBox error: %@\", redboxError);\n  XCTAssertTrue(foundElement, @\"Couldn't find element with text '%@' in %d seconds\", TEXT_TO_LOOK_FOR, TIMEOUT_SECONDS);\n}\n\n\n@end\n"
  },
  {
    "path": "examples/redux/package.json",
    "content": "{\n  \"name\": \"rnrfReduxSample\",\n  \"version\": \"0.0.1\",\n  \"private\": true,\n  \"scripts\": {\n    \"start\": \"node node_modules/react-native/local-cli/cli.js start\",\n    \"ios\": \"react-native run-ios\",\n    \"android\": \"react-native run-android\",\n    \"dev:ios\": \"yarn dev && yarn ios\",\n    \"dev:android\": \"yarn dev && yarn android\",\n    \"dev\": \"cp ../../src/* node_modules/react-native-router-flux/src/\",\n    \"test\": \"jest\",\n    \"postinstall\": \"./node_modules/.bin/rnrf dedup\"\n  },\n  \"resolutions\": {\n    \"*/@babel/cli\": \"7.0.0-beta.47\",\n    \"*/@babel/core\": \"7.0.0-beta.47\",\n    \"*/@babel/code-frame\": \"7.0.0-beta.47\",\n    \"*/@babel/highlight\": \"7.0.0-beta.47\"\n  },\n  \"dependencies\": {\n    \"prop-types\": \"^15.6.2\",\n    \"react\": \"16.4.1\",\n    \"react-native\": \"0.56.0\",\n    \"react-native-router-flux\": \"file:../../\",\n    \"react-native-router-flux-cli\": \"file:../../packages/react-native-router-flux-cli\",\n    \"react-navigation\": \"2.13.x\",\n    \"react-navigation-redux-helpers\": \"^2.0.5\",\n    \"react-redux\": \"^5.0.5\",\n    \"redux\": \"4.0.x\"\n  },\n  \"devDependencies\": {\n    \"@babel/core\": \"7.0.0-beta.47\",\n    \"@babel/plugin-proposal-decorators\": \"7.0.0-beta.47\",\n    \"autobind-decorator\": \"^2.1.0\",\n    \"babel-core\": \"^7.0.0-0\",\n    \"babel-jest\": \"23.4.0\",\n    \"babel-preset-react-native\": \"5.0.2\",\n    \"jest\": \"^23.4.1\",\n    \"react-test-renderer\": \"^16.4.1\"\n  },\n  \"jest\": {\n    \"preset\": \"react-native\"\n  }\n}\n"
  },
  {
    "path": "examples/redux/readme.md",
    "content": "# RNRF Sample project\n\nThis project presents a bug in the current Redux integration of `react-native-router-flux` library.\nThe project is *NOT* ment as a demonstration of the library's capabilities.\n\n[The library can be found here](https://github.com/aksonov/react-native-router-flux)\n\n"
  },
  {
    "path": "examples/redux/src/a-reducer.js",
    "content": "import { ActionConst } from 'react-native-router-flux';\n\nconst INITIAL_STATE = { data: null, currentScene: 'home' };\n\nexport default (state = INITIAL_STATE, { type, payload, routeName }) => {\n  switch (type) {\n    case ActionConst.FOCUS:\n      console.log('FOCUS event fired with scene parameter: ', routeName);\n      return { ...state, currentScene: routeName };\n    case 'data':\n      return { ...state, data: payload };\n\n    default:\n      return state;\n  }\n};\n"
  },
  {
    "path": "examples/redux/src/app.js",
    "content": "import React from 'react';\nimport { createStore, applyMiddleware, combineReducers } from 'redux';\nimport { Provider, connect } from 'react-redux';\nimport { Scene, Actions, Router } from 'react-native-router-flux';\nimport { reduxifyNavigator, createReactNavigationReduxMiddleware, createNavigationReducer } from 'react-navigation-redux-helpers';\n\nimport Home from './home';\nimport Page from './page';\nimport reducer from './a-reducer';\n\nconst AppNavigator = Actions.create(\n  <Scene key=\"root\" hideNavBar>\n    <Scene key=\"home\" component={Home} />\n    <Scene key=\"page\" component={Page} />\n  </Scene>,\n);\n\n// default nav reducer\nconst initialState = AppNavigator.router.getStateForAction(AppNavigator.router.getActionForPathAndParams('home'));\nconst navReducer = (state = initialState, action) => {\n  const nextState = AppNavigator.router.getStateForAction(action, state);\n  // Simply return the original `state` if `nextState` is null or undefined.\n  return nextState || state;\n};\n\nconst appReducer = combineReducers({\n  nav: navReducer,\n  reducer,\n});\n\nconst middleware = createReactNavigationReduxMiddleware('root', state => state.nav);\nconst ReduxNavigator = reduxifyNavigator(AppNavigator, 'root');\nconst mapStateToProps = state => ({\n  state: state.nav,\n});\nconst ReduxRouter = connect(mapStateToProps)(Router);\nconst store = createStore(appReducer, applyMiddleware(middleware));\n\nexport default class App extends React.Component {\n  render() {\n    return (\n      <Provider store={store}>\n        <ReduxRouter navigator={ReduxNavigator} />\n      </Provider>\n    );\n  }\n}\n"
  },
  {
    "path": "examples/redux/src/home.js",
    "content": "import React from 'react';\nimport { View, Text, TouchableOpacity } from 'react-native';\nimport { connect } from 'react-redux';\nimport { Actions } from 'react-native-router-flux';\n\nclass Home extends React.Component {\n  render() {\n    return (\n      <View style={styles.fill}>\n        <View style={styles.header}>\n          <Text style={styles.text}>Current scene: \"{this.props.currentScene}\"</Text>\n          <Text style={styles.text}>Welcome to the home scene.</Text>\n          <Text style={styles.data}>{this.props.data ? this.props.data : 'No data...'}</Text>\n        </View>\n        <TouchableOpacity\n          style={styles.button}\n          onPress={() => {\n            Actions.page();\n          }}\n        >\n          <Text style={styles.text}> Go to \"page\" --> </Text>\n        </TouchableOpacity>\n      </View>\n    );\n  }\n}\n\nconst styles = {\n  fill: {\n    flex: 1,\n  },\n  header: {\n    flex: 2,\n    padding: 20,\n  },\n  text: {\n    fontSize: 20,\n    textAlign: 'center',\n    justifyContent: 'center',\n  },\n  data: {\n    marginTop: 100,\n    fontSize: 30,\n    textAlign: 'center',\n  },\n  button: {\n    flex: 1,\n    backgroundColor: 'green',\n    justifyContent: 'center',\n  },\n};\n\nconst mapStateToProps = ({ reducer }) => ({ data } = reducer);\n\nexport default connect(\n  mapStateToProps,\n  {},\n)(Home);\n"
  },
  {
    "path": "examples/redux/src/page.js",
    "content": "import React from 'react';\nimport { View, Text, TouchableOpacity } from 'react-native';\nimport { connect } from 'react-redux';\nimport { Actions } from 'react-native-router-flux';\n\nclass Page extends React.Component {\n  render() {\n    return (\n      <View style={styles.fill}>\n        <View style={styles.header}>\n          <Text style={styles.text}>Current scene: \"{this.props.currentScene}\"</Text>\n          <Text style={styles.text}>This is an arbitrary page.</Text>\n        </View>\n        <TouchableOpacity\n          style={styles.data}\n          onPress={() => {\n            this.props.action('This is your data: [1, 2, 3]');\n          }}\n        >\n          <Text style={styles.text}> Get data </Text>\n        </TouchableOpacity>\n        <TouchableOpacity\n          style={styles.button}\n          onPress={() => {\n            Actions.home();\n          }}\n        >\n          <Text style={styles.text}>\n            {' '}\n            {'<'}\n            -- Go to \"home\"{' '}\n          </Text>\n        </TouchableOpacity>\n      </View>\n    );\n  }\n}\n\nconst action = data => ({\n  type: 'data',\n  payload: data,\n});\n\nconst styles = {\n  fill: {\n    flex: 1,\n  },\n  header: {\n    flex: 4,\n    padding: 20,\n  },\n  text: {\n    fontSize: 20,\n    textAlign: 'center',\n    justifyContent: 'center',\n  },\n  data: {\n    flex: 1,\n    backgroundColor: 'cyan',\n    justifyContent: 'center',\n  },\n  button: {\n    flex: 1,\n    backgroundColor: 'yellow',\n    justifyContent: 'center',\n  },\n};\n\nconst mapStateToProps = ({ reducer }) => ({ data } = reducer);\n\nexport default connect(\n  mapStateToProps,\n  { action },\n)(Page);\n"
  },
  {
    "path": "index.d.ts",
    "content": "/// <reference types=\"react\"/>\n/// <reference types=\"react-native\"/>\n\nimport * as React from 'react';\nimport { StyleProp, Image, ViewStyle, TextStyle, ImageStyle } from 'react-native';\n\nexport var Router: RouterStatic;\nexport type Router = RouterStatic;\n\n// Reducer\nexport var Reducer: any;\nexport type Reducer = any;\n\n// Router\ninterface RouterProps extends React.Props<Router> {\n  sceneStyle?: StyleProp<ViewStyle>;\n  backAndroidHandler?: Function;\n  wrapBy?: Function;\n  scenes?: any;\n  createReducer?: Function;\n  onStateChange?: Function;\n  getSceneStyle?: Function;\n  uriPrefix?: string;\n  onDeepLink?: Function;\n}\ninterface RouterStatic extends React.ComponentClass<RouterProps> {}\n\n// Scene\nexport var Scene: SceneStatic;\nexport type Scene = SceneStatic;\ninterface SceneProps extends React.Props<Scene> {\n  key?: string;\n  component?: React.ComponentType<any>;\n  back?: boolean;\n  init?: boolean;\n  clone?: boolean;\n  contentComponent?: React.ComponentType<any>;\n  backButtonImage?: string;\n  backButtonTintColor?: string;\n  drawer?: boolean;\n  failure?: (() => void) | string;\n  headerBackTitle?: string;\n  headerMode?: HeaderModeType;\n  hideNavBar?: boolean;\n  hideTabBar?: boolean;\n  hideBackImage?: boolean;\n  initial?: boolean;\n  leftButtonImage?: Image;\n  modal?: boolean;\n  navigationBarTitleImage?: Image;\n  navigationBarTitleImageStyle?: StyleProp<ImageStyle>;\n  navTransparent?: boolean;\n  on?: (props: any) => void;\n  onEnter?: (props: any) => void;\n  onExit?: (props: any) => void;\n  onLeft?: (props: any) => void;\n  onRight?: (props: any) => void;\n  renderTitle?: React.ComponentType<any>;\n  renderLeftButton?: React.ComponentType<any>;\n  renderRightButton?: React.ComponentType<any>;\n  renderBackButton?: React.ComponentType<any>;\n  rightTitle?: string;\n  rightButtonImage?: Image | null;\n  rightButtonTextStyle?: StyleProp<TextStyle>;\n  success?: (() => void) | string;\n  tabs?: boolean;\n  title?: (() => string) | string;\n  titleStyle?: StyleProp<TextStyle>;\n  type?: ActionConstShort;\n  [name: string]: any; // These are passed through to the scenes\n}\ninterface TabSceneProps extends React.Props<Scene> {\n  icon?: React.ComponentType<any>;\n  tabBarLabel?: string;\n}\ninterface SceneStatic extends React.ComponentClass<SceneProps & TabsProps & TabSceneProps & DrawerProps & ModalProps> {}\nexport type HeaderModeType = 'float' | 'screen' | 'none';\n\n// Tabs\nexport var Tabs: TabsStatic;\nexport type Tabs = TabsStatic;\ninterface TabsProps extends React.Props<Tabs> {\n  wrap?: boolean;\n  activeBackgroundColor?: string;\n  activeTintColor?: string;\n  inactiveBackgroundColor?: string;\n  inactiveTintColor?: string;\n  labelStyle?: StyleProp<TextStyle>;\n  lazy?: boolean;\n  hideNavBar?: boolean;\n  hideTabBar?: boolean;\n  tabBarComponent?: React.ComponentType<any>;\n  tabBarPosition?: TabBarPositionType;\n  tabBarStyle?: StyleProp<ViewStyle>;\n  tabStyle?: StyleProp<ViewStyle>;\n  indicatorStyle?: StyleProp<ViewStyle>;\n  showLabel?: boolean;\n  swipeEnabled?: boolean;\n  tabBarOnPress?: Function;\n  backToInitial?: boolean;\n}\ninterface TabsStatic extends React.ComponentClass<SceneProps & TabsProps> {}\nexport type TabBarPositionType = 'top' | 'bottom';\n\n// Drawer\nexport var Drawer: DrawerStatic;\nexport type Drawer = DrawerStatic;\ninterface DrawerProps extends React.Props<Drawer> {\n  drawerImage?: Image;\n  drawerIcon?: React.ReactElement<any> | React.ComponentType<any>;\n  drawerPosition?: DrawerPositionType;\n}\ninterface DrawerStatic extends React.ComponentClass<SceneProps & DrawerProps> {}\nexport type DrawerPositionType = 'right' | 'left';\n\n// Modal\nexport var Modal: ModalStatic;\nexport type Modal = ModalStatic;\ninterface ModalProps extends React.Props<Modal> {}\ninterface ModalStatic extends React.ComponentClass<SceneProps & ModalProps> {}\n\n// Overlay\nexport var Overlay: OverlayStatic;\nexport type Overlay = OverlayStatic;\ninterface OverlayProps extends React.Props<Overlay> {}\ninterface OverlayStatic extends React.ComponentClass<SceneProps & OverlayProps> {}\n\n// Lightbox\nexport var Lightbox: LightboxStatic;\nexport type Lightbox = LightboxStatic;\ninterface LightboxProps extends React.Props<Modal> {}\ninterface LightboxStatic extends React.ComponentClass<SceneProps & LightboxProps> {}\n\n// Stack\nexport var Stack: StackStatic;\nexport type Stack = StackStatic;\n\ninterface StackProps extends React.Props<Stack> {\n  navigationBarStyle?: StyleProp<ViewStyle>;\n  icon?: any;\n  tintColor?: string;\n  hideNavBar?: boolean;\n  hideTabBar?: boolean;\n  title?: string;\n  lightbox?: boolean;\n  tabs?: boolean;\n  initial?: boolean;\n  titleStyle?: StyleProp<TextStyle>;\n  type?: string;\n  navTransparent?: boolean;\n  renderer?: any;\n}\ninterface StackStatic extends React.ComponentClass<StackProps> {}\n\nexport var Actions: ActionsGenericStatic;\nexport type Actions = ActionsGenericStatic;\ninterface ActionsStatic {\n  currentScene: any;\n  jump: (sceneKey: string, props?: any) => void;\n  pop: (params?: { animated?: boolean }) => void;\n  popAndPush: (sceneKey: string, props?: any) => void;\n  popTo: (sceneKey: string, props?: any) => void;\n  push: (sceneKey: string, props?: any) => void;\n  refresh: (props?: any) => void;\n  replace: (sceneKey: string, props?: any) => void;\n  reset: (sceneKey: string, props?: any) => void;\n  addRef: (name: string, ref?: any) => void\n  drawerOpen?: any;\n  drawerClose?: any;\n}\ninterface ActionsGenericStatic extends ActionsStatic {\n  [key: string]: (props?: any) => void;\n}\n\nexport type ActionConstShort = 'jump' | 'push' | 'replace' | 'pop' | 'popTo' | 'refresh' | 'reset';\nexport declare const ActionConst: ActionConst;\nexport type ActionConst = {\n  JUMP: string;\n  PUSH: string;\n  PUSH_OR_POP: string;\n  REPLACE: string;\n  BACK: string;\n  BACK_ACTION: string;\n  POP_TO: string;\n  REFRESH: string;\n  RESET: string;\n  FOCUS: string;\n  BLUR: string;\n  ANDROID_BACK: string;\n};\n"
  },
  {
    "path": "package.json",
    "content": "{\n  \"name\": \"react-native-router-flux\",\n  \"version\": \"4.3.1\",\n  \"description\": \"React Native Router using Flux architecture\",\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"https://github.com/aksonov/react-native-router-flux\"\n  },\n  \"bugs\": {\n    \"url\": \"https://github.com/aksonov/react-native-router-flux\"\n  },\n  \"homepage\": \"https://github.com/aksonov/react-native-router-flux#readme\",\n  \"license\": \"MIT\",\n  \"main\": \"src/index.js\",\n  \"types\": \"index.d.ts\",\n  \"scripts\": {\n    \"start\": \"node node_modules/react-native/local-cli/cli.js start\",\n    \"postinstall\": \"./node_modules/.bin/opencollective postinstall || exit 0\",\n    \"build\": \"./node_modules/.bin/babel src -d dist\",\n    \"lint\": \"prettier-eslint $PWD/'src/**/*.js' $PWD/'__tests__/**/*.js' --list-different\",\n    \"fix\": \"prettier-eslint $PWD/'src/**/*.js' $PWD/'__tests__/**/*.js' --write\",\n    \"test\": \"jest\"\n  },\n  \"dependencies\": {\n    \"@babel/runtime\": \"^7.6.0\",\n    \"add\": \"^2.0.6\",\n    \"lodash\": \"^4.17.15\",\n    \"opencollective\": \"^1.0.3\",\n    \"path-to-regexp\": \"^2.4.0\",\n    \"prop-types\": \"^15.6.2\",\n    \"react-navigation\": \"^4.x\",\n    \"react-navigation-drawer\": \"^2.2.1\",\n    \"react-navigation-stack\": \"^2.10.2\",\n    \"react-navigation-tabs\": \"^2.10.1\",\n    \"remove\": \"^0.1.5\"\n  },\n  \"devDependencies\": {\n    \"@babel/cli\": \"7.0.0-beta.47\",\n    \"@babel/code-frame\": \"7.0.0-beta.47\",\n    \"@babel/core\": \"^7.6.0\",\n    \"@babel/plugin-proposal-decorators\": \"7.0.0-beta.47\",\n    \"@babel/plugin-proposal-optional-chaining\": \"7.0.0-beta.47\",\n    \"@types/react\": \"16.4.12\",\n    \"@types/react-native\": \"0.56.14\",\n    \"babel-core\": \"^7.0.0-0\",\n    \"babel-eslint\": \"9.0.0-beta.1\",\n    \"babel-jest\": \"^25.1.0\",\n    \"babel-preset-react-native\": \"5.0.2\",\n    \"eslint\": \"^6.7.0\",\n    \"eslint-config-airbnb\": \"17.1.0\",\n    \"eslint-config-prettier\": \"3.0.1\",\n    \"eslint-plugin-eslint-comments\": \"3.0.1\",\n    \"eslint-plugin-import\": \"2.14.0\",\n    \"eslint-plugin-jest\": \"21.22.0\",\n    \"eslint-plugin-jsx-a11y\": \"6.1.1\",\n    \"eslint-plugin-react\": \"7.11.0\",\n    \"estraverse-fb\": \"1.3.2\",\n    \"jest\": \"^25.1.0\",\n    \"prettier-eslint\": \"8.8.2\",\n    \"prettier-eslint-cli\": \"5.0.0-beta.0\",\n    \"react\": \"16.4.1\",\n    \"react-native\": \"0.56.0\",\n    \"react-native-gesture-handler\": \"^1.4.1\",\n    \"react-native-jest-mocks\": \"1.4.0\",\n    \"react-test-renderer\": \"16.4.1\"\n  },\n  \"peerDependencies\": {\n    \"react\": \"*\",\n    \"react-native\": \"*\"\n  },\n  \"jest\": {\n    \"preset\": \"react-native\",\n    \"modulePathIgnorePatterns\": [\n      \"<rootDir>/examples/\"\n    ],\n    \"transformIgnorePatterns\": [\n      \"node_modules/(?!(jest-)?react-native|react-navigation|@react-navigation|react-navigation-(tabs|drawer|deprecated-tab-navigator|stack))\"\n    ],\n    \"setupFiles\": [\n      \"./test/setup.js\"\n    ]\n  },\n  \"eslintConfig\": {\n    \"filePath\": \"./eslintrc.js\"\n  },\n  \"collective\": {\n    \"type\": \"opencollective\",\n    \"url\": \"https://opencollective.com/react-native-router-flux\",\n    \"logo\": \"https://opencollective.com/opencollective/logo.txt\"\n  }\n}\n"
  },
  {
    "path": "packages/react-native-router-flux-cli/README.md",
    "content": "# React Native Router Flux CLI tools\n"
  },
  {
    "path": "packages/react-native-router-flux-cli/index.js",
    "content": "#!/usr/bin/env node\n\n'use strict';\n\nconst path = require('path');\nconst rimraf = require('rimraf');\n\nconst [,, command, ...args] = process.argv;\n\nconst commands = {\n  dedup: function () {\n    const blacklisted = [\n      'node_modules/react-native-router-flux/node_modules',\n      'node_modules/react-native-router-flux/examples'\n    ];\n\n    blacklisted.map(function (part) {\n      const current = path.join(process.env.PWD, part);\n      rimraf(current, function (err) {\n        if (err) throw err\n        console.log(`${current} removed!`);\n      });\n    });\n  }\n};\n\ncommands[command](...args);\n"
  },
  {
    "path": "packages/react-native-router-flux-cli/package.json",
    "content": "{\n  \"name\": \"react-native-router-flux-cli\",\n  \"version\": \"0.0.1\",\n  \"license\": \"MIT\",\n  \"description\": \"The React Native Router Flux CLI tools\",\n  \"main\": \"index.js\",\n  \"engines\": {\n    \"node\": \">=4\"\n  },\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"https://github.com/aksonov/react-native-router-flux.git\"\n  },\n  \"scripts\": {\n    \"test\": \"mocha\"\n  },\n  \"bin\": {\n    \"rnrf\": \"index.js\"\n  },\n  \"dependencies\": {\n    \"rimraf\": \"^2.6.2\"\n  }\n}\n"
  },
  {
    "path": "src/.watchmanconfig",
    "content": "{\n  \"ignore_dirs\": []\n}\n"
  },
  {
    "path": "src/ActionConst.js",
    "content": "export const JUMP = 'REACT_NATIVE_ROUTER_FLUX_JUMP';\nexport const PUSH = 'REACT_NATIVE_ROUTER_FLUX_PUSH';\nexport const PUSH_OR_POP = 'REACT_NATIVE_ROUTER_FLUX_PUSH_OR_POP';\nexport const REPLACE = 'REACT_NATIVE_ROUTER_FLUX_REPLACE';\nexport const BACK = 'REACT_NATIVE_ROUTER_FLUX_BACK';\nexport const BACK_ACTION = 'REACT_NATIVE_ROUTER_FLUX_BACK_ACTION';\nexport const POP_TO = 'REACT_NATIVE_ROUTER_FLUX_POP_TO';\nexport const REFRESH = 'REACT_NATIVE_ROUTER_FLUX_REFRESH';\nexport const RESET = 'REACT_NATIVE_ROUTER_FLUX_RESET';\nexport const FOCUS = 'REACT_NATIVE_ROUTER_FLUX_FOCUS';\nexport const BLUR = 'REACT_NATIVE_ROUTER_FLUX_BLUR';\nexport const ANDROID_BACK = 'REACT_NATIVE_ROUTER_FLUX_ANDROID_BACK';\n"
  },
  {
    "path": "src/Drawer.js",
    "content": "/**\n * Copyright (c) 2015-present, Pavel Aksonov\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\nexport default () => null;\n"
  },
  {
    "path": "src/LegacyTabs.js",
    "content": "/**\n * Copyright (c) 2015-present, Pavel Aksonov\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\nexport default () => null;\n"
  },
  {
    "path": "src/Lightbox.js",
    "content": "/**\n * Copyright (c) 2015-present, Pavel Aksonov\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\nexport default () => null;\n"
  },
  {
    "path": "src/LightboxRenderer.js",
    "content": "/* @flow */\n\nimport React from 'react';\nimport { View } from 'react-native';\n\nexport default ({ navigation, descriptors }) => {\n  const { state } = navigation;\n  const descriptor = descriptors[state.routes[0].key]; // base component to render\n  const Component = descriptor.getComponent();\n  const popupDescriptor = descriptors[state.routes[state.index].key];\n  const Popup = state.index !== 0 ? popupDescriptor.getComponent() : null;\n  return (\n    <View style={{ flex: 1 }}>\n      <Component navigation={descriptor.navigation} />\n      {Popup && <Popup navigation={popupDescriptor.navigation} />}\n    </View>\n  );\n};\n"
  },
  {
    "path": "src/Modal.js",
    "content": "/**\n * Copyright (c) 2015-present, Pavel Aksonov\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\nexport default () => null;\n"
  },
  {
    "path": "src/NavBar.js",
    "content": "import React from 'react';\nimport { HeaderBackButton } from 'react-navigation-stack';\nimport {\n  Platform, I18nManager, Image, StyleSheet, Text, TouchableOpacity, View,\n} from 'react-native';\nimport { NavigationActions } from 'react-navigation';\nimport { DrawerActions } from 'react-navigation-drawer';\nimport _backButtonImage from '../images/back_chevron.png';\n\nconst hitSlop = {\n  top: 15,\n  bottom: 15,\n  left: 15,\n  right: 15,\n};\nexport function BackButton(state) {\n  const textButtonStyle = [styles.barBackButtonText, state.backButtonTextStyle];\n  const style = [styles.backButton, state.leftButtonStyle];\n  const buttonImage = state.backButtonImage || _backButtonImage;\n  const tintColor = getValue(state.backButtonTintColor, state) || state.tintColor || state.navBarButtonColor || state.headerTintColor;\n  let onPress = state.onBack;\n  if (onPress) {\n    onPress = onPress.bind(null, state);\n  } else {\n    onPress = () => state.navigation.dispatch(NavigationActions.back());\n  }\n\n  // returning react-navigation's back button well styled for ios and android if rnrf4-supported customization\n  // is not required\n  if (!state.backButtonImage) {\n    return <HeaderBackButton onPress={onPress} title={state.backTitle} titleStyle={textButtonStyle} tintColor={tintColor} truncatedTitle={state.truncatedTitle} />;\n  }\n\n  const text = state.backTitle ? <Text style={textButtonStyle}>{state.backTitle}</Text> : null;\n\n  return (\n    <TouchableOpacity testID=\"backNavButton\" style={styles.backButtonContainer} onPress={onPress}>\n      <View style={style}>\n        {buttonImage && !state.hideBackImage && <Image source={buttonImage} style={[styles.backButtonImage, state.barButtonIconStyle, state.leftButtonIconStyle, { tintColor }]} />}\n        {text}\n      </View>\n    </TouchableOpacity>\n  );\n}\n\nexport function LeftButton(state) {\n  let onPress = state.onLeft;\n  let buttonImage = getValue(state.leftButtonImage, state);\n  let menuIcon = getValue(state.drawerIcon, state);\n  const style = [styles.leftButton, state.leftButtonStyle];\n  const leftButtonTextStyle = getValue(state.leftButtonTextStyle, state);\n  const leftButtonIconStyle = getValue(state.leftButtonIconStyle, state);\n  const leftButtonStyle = [styles.defaultImageStyle, leftButtonIconStyle];\n  const leftTitle = state.getLeftTitle ? state.getLeftTitle(state) : getValue(state.leftTitle, state);\n  const textColor = getValue(state.leftButtonTintColor, state);\n  const tintColor = textColor || state.tintColor || state.navBarButtonColor || state.headerTintColor;\n  const textStyle = [styles.barLeftButtonText, tintColor && { color: tintColor }, leftButtonTextStyle, textColor && { color: textColor }];\n\n  if (state.leftButton || state.left) {\n    const Button = state.leftButton || state.left;\n    return <Button {...state} key=\"leftNavBarBtn\" testID=\"leftNavButton\" style={[...style, ...leftButtonStyle]} textStyle={textStyle} />;\n  }\n\n  if (!onPress && !state.hideDrawerButton && (state.drawerImage || menuIcon) && state.drawerPosition !== 'right') {\n    buttonImage = state.drawerImage;\n    if (buttonImage || menuIcon) {\n      onPress = () => state.navigation.dispatch(DrawerActions.openDrawer());\n    }\n    if (!menuIcon) {\n      menuIcon = <Image source={buttonImage} style={[state.leftButtonIconStyle || styles.defaultImageStyle, { tintColor }]} />;\n    }\n  }\n\n  if (onPress && (leftTitle || buttonImage || menuIcon)) {\n    onPress = onPress.bind(null, state);\n    return (\n      <TouchableOpacity key=\"leftNavBarBtn\" testID=\"leftNavButton\" style={style} onPress={onPress} hitSlop={state.hitSlop || hitSlop}>\n        {leftTitle && <Text style={textStyle}>{leftTitle}</Text>}\n        {!leftTitle && (menuIcon || buttonImage) && (\n          <View\n            style={{\n              flex: 1,\n              justifyContent: 'center',\n              alignItems: 'flex-start',\n            }}\n          >\n            {menuIcon || <Image source={buttonImage} style={[state.leftButtonIconStyle || styles.defaultImageStyle, { tintColor }]} />}\n          </View>\n        )}\n      </TouchableOpacity>\n    );\n  }\n  if (!!state.onLeft ^ !!(leftTitle || buttonImage || menuIcon)) {\n    console.warn(`Both onLeft and leftTitle/leftButtonImage\n            must be specified for the scene: ${state.name}`);\n  }\n  return null;\n}\n\nfunction getValue(value, params) {\n  return value instanceof Function ? value(params) : value;\n}\n\nexport function RightButton(state) {\n  if (!state) {\n    return null;\n  }\n\n  let onPress = state.onRight;\n  let buttonImage = getValue(state.rightButtonImage, state);\n  let menuIcon = state.drawerIcon;\n  const style = [styles.rightButton, state.rightButtonStyle];\n  const rightButtonTextStyle = getValue(state.rightButtonTextStyle, state);\n  const rightButtonIconStyle = getValue(state.rightButtonIconStyle, state);\n  const rightButtonStyle = [styles.defaultImageStyle, rightButtonIconStyle];\n  const rightTitle = state.getRightTitle ? state.getRightTitle(state) : getValue(state.rightTitle, state);\n  const textColor = getValue(state.rightButtonTintColor, state);\n  const tintColor = textColor || state.tintColor || state.navBarButtonColor || state.headerTintColor;\n  const textStyle = [styles.barRightButtonText, tintColor && { color: tintColor }, rightButtonTextStyle, textColor && { color: textColor }];\n\n  if (state.rightButton || state.right) {\n    const Button = state.rightButton || state.right;\n    return <Button {...state} key=\"rightNavBarBtn\" testID=\"rightNavButton\" style={style} textButtonStyle={textStyle} />;\n  }\n\n  if (!onPress && !state.hideDrawerButton && state.drawerImage && state.drawerPosition === 'right') {\n    buttonImage = state.drawerImage;\n    if (buttonImage || menuIcon) {\n      onPress = () => state.navigation.dispatch(DrawerActions.openDrawer());\n    }\n    if (!menuIcon) {\n      menuIcon = <Image source={buttonImage} style={[rightButtonStyle, { tintColor }]} />;\n    }\n  }\n\n  if (onPress && (rightTitle || buttonImage)) {\n    onPress = onPress.bind(null, state);\n    return (\n      <TouchableOpacity key=\"rightNavBarBtn\" testID=\"rightNavButton\" style={style} onPress={onPress} hitSlop={state.hitSlop || hitSlop}>\n        {rightTitle && <Text style={textStyle}>{rightTitle}</Text>}\n        {!rightTitle && buttonImage && (\n          <View\n            style={{\n              flex: 1,\n              justifyContent: 'center',\n              alignItems: 'flex-end',\n            }}\n          >\n            {menuIcon || <Image source={buttonImage} style={[state.rightButtonIconStyle || styles.defaultImageStyle, { tintColor }]} />}\n          </View>\n        )}\n      </TouchableOpacity>\n    );\n  }\n  if (!!state.onRight ^ !!(typeof rightTitle !== 'undefined' || typeof buttonImage !== 'undefined')) {\n    console.warn(`Both onRight and rightTitle/rightButtonImage\n            must be specified for the scene: ${state.routeName}`);\n  }\n  return null;\n}\nconst styles = StyleSheet.create({\n  title: {\n    textAlign: 'center',\n    color: '#0A0A0A',\n    fontSize: 18,\n    width: 180,\n    alignSelf: 'center',\n  },\n  titleImage: {\n    width: 180,\n    alignSelf: 'center',\n  },\n  titleWrapper: {\n    marginTop: 10,\n    ...Platform.select({\n      ios: {\n        top: 20,\n      },\n      android: {\n        top: 5,\n      },\n      windows: {\n        top: 5,\n      },\n    }),\n  },\n  header: {\n    backgroundColor: '#EFEFF2',\n    paddingTop: 0,\n    ...Platform.select({\n      ios: {\n        height: 64,\n      },\n      android: {\n        height: 54,\n      },\n      windows: {\n        height: 54,\n      },\n    }),\n    borderBottomWidth: 0.5,\n    borderBottomColor: '#828287',\n  },\n  backButton: {\n    ...Platform.select({\n      ios: {\n        top: 12,\n      },\n      android: {\n        top: 10,\n      },\n      windows: {\n        top: 8,\n      },\n    }),\n    left: 2,\n    paddingLeft: 8,\n    flexDirection: 'row',\n    transform: [{ scaleX: I18nManager.isRTL ? -1 : 1 }],\n  },\n  rightButton: {\n    right: 2,\n    paddingRight: 8,\n  },\n  leftButton: {\n    left: 2,\n    paddingLeft: 8,\n  },\n  barRightButtonText: {\n    color: 'rgb(0, 122, 255)',\n    textAlign: 'right',\n    fontSize: 17,\n  },\n  barBackButtonText: {\n    color: 'rgb(0, 122, 255)',\n    textAlign: 'left',\n    fontSize: 17,\n    paddingLeft: 6,\n  },\n  barLeftButtonText: {\n    color: 'rgb(0, 122, 255)',\n    textAlign: 'left',\n    fontSize: 17,\n  },\n  backButtonContainer: {\n    height: 50,\n    width: 70,\n  },\n  backButtonImage: {\n    ...Platform.select({\n      android: {\n        marginTop: 5,\n      },\n    }),\n    width: 13,\n    height: 21,\n  },\n  defaultImageStyle: {\n    height: 24,\n    resizeMode: 'contain',\n  },\n});\n"
  },
  {
    "path": "src/Overlay.js",
    "content": "/**\n * Copyright (c) 2015-present, Pavel Aksonov\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\nexport default () => null;\n"
  },
  {
    "path": "src/OverlayRenderer.js",
    "content": "/* @flow */\n\nimport React from 'react';\nimport { View } from 'react-native';\n\nexport default ({ navigationConfig, descriptors }) => {\n  const { initialRouteName, order, contentComponent } = navigationConfig;\n  const ContentComponent = contentComponent || View;\n  const descriptor = descriptors[initialRouteName];\n  const Component = descriptor.getComponent();\n\n  const overlays = [];\n  for (let i = 0; i < order.length; i += 1) {\n    const routeName = order[i];\n    if (initialRouteName !== routeName) {\n      const Overlay = descriptors[routeName].getComponent();\n      overlays.push(<Overlay key={routeName} navigation={descriptors[routeName].navigation} />);\n    }\n  }\n  return (\n    <ContentComponent style={{ flex: 1 }}>\n      <Component navigation={descriptor.navigation} />\n      {overlays}\n    </ContentComponent>\n  );\n};\n"
  },
  {
    "path": "src/Reducer.js",
    "content": "import _ from 'lodash';\nimport { NavigationActions, StackActions } from 'react-navigation';\nimport * as ActionConst from './ActionConst';\nimport { getActiveState, popPrevious } from './State';\n\nexport default function createReducer(store) {\n  return (state, action) => {\n    const NavigationStore = require('./Store').default;\n    const navigationStore = store || new NavigationStore();\n    const { type, routeName } = action;\n    if (type === ActionConst.POP_TO) {\n      let nextScene = '';\n      let newState = state;\n      let currentState = state;\n      while (newState && nextScene !== routeName) {\n        newState = navigationStore.getStateForAction(StackActions.pop(), currentState);\n        if (newState) {\n          nextScene = getActiveState(newState).routeName;\n          if (nextScene !== routeName && _.isEqual(currentState, newState)) {\n            console.warn(`popTo called with an unknown routeName: ${routeName}, current scene: ${nextScene}`);\n            break;\n          }\n          if (nextScene !== routeName) {\n            currentState = newState;\n          }\n        }\n      }\n      return nextScene === routeName ? newState : state;\n    }\n    if (type === ActionConst.REPLACE) {\n      const newState = navigationStore.getStateForAction(\n        NavigationActions.navigate({\n          routeName,\n          params: action.params,\n        }),\n        state,\n      );\n      const res = popPrevious(newState, routeName);\n      return res;\n    }\n    return navigationStore.getStateForAction(action, state) || state;\n  };\n}\n"
  },
  {
    "path": "src/Router.js",
    "content": "import React from 'react';\nimport { ViewPropTypes, BackHandler, Linking } from 'react-native';\nimport PropTypes from 'prop-types';\nimport NavigationStore from './Store';\nimport defaultStore from './defaultStore';\nimport pathParser from './pathParser';\n\nclass App extends React.Component {\n  static propTypes = {\n    navigator: PropTypes.func,\n    backAndroidHandler: PropTypes.func,\n    uriPrefix: PropTypes.string,\n    onDeepLink: PropTypes.func,\n    navigationStore: PropTypes.instanceOf(NavigationStore).isRequired,\n  };\n\n  static defaultProps = {\n    navigator: null,\n    backAndroidHandler: null,\n    uriPrefix: null,\n    onDeepLink: null,\n  };\n\n  componentDidMount() {\n    BackHandler.addEventListener('hardwareBackPress', this.props.backAndroidHandler || this.onBackPress);\n\n    // If the app was \"woken up\" by an external route.\n    Linking.getInitialURL().then(url => this.parseDeepURL(url));\n    // Add an event listener for further deep linking.\n    Linking.addEventListener('url', this.handleDeepURL);\n  }\n\n  componentWillUnmount() {\n    BackHandler.removeEventListener('hardwareBackPress', this.props.backAndroidHandler || this.onBackPress);\n    Linking.removeEventListener('url', this.handleDeepURL);\n  }\n\n  onBackPress = () => this.props.navigationStore.pop();\n\n  handleDeepURL = e => this.parseDeepURL(e.url);\n\n  parseDeepURL = (url) => {\n    // If there is no url, then return.\n    if (!url) {\n      return;\n    }\n\n    // Clean the url with the given prefix.\n    const cleanUrl = this.props.uriPrefix ? url.split(this.props.uriPrefix)[1] : url;\n    // Skip for uriPrefix which not registered\n    if (!cleanUrl) {\n      return;\n    }\n    // Build an array of paths for every scene.\n    const allPaths = Object.values(this.props.navigationStore.states)\n      .map(obj => obj.path)\n      .filter(path => path);\n    // Try to match the url against the set of paths and parse the url parameters.\n    const parsedPath = pathParser(cleanUrl, allPaths);\n\n    // If the url could not be matched, then return.\n    if (!parsedPath) {\n      return;\n    }\n\n    // Destructure the matched path and the parsed url parameters.\n    const { path, params } = parsedPath;\n\n    // Get the action from the scene associated with the matched path.\n    const actionKey = Object.entries(this.props.navigationStore.states)\n      .filter(([, value]) => value.path === path)\n      .map(([key]) => key)\n      .find(key => key);\n\n    if (this.props.onDeepLink) {\n      this.props.onDeepLink({ url, action: actionKey, params });\n    } else if (actionKey && this.props.navigationStore[actionKey]) {\n      // Call the action associated with the scene's path with the parsed parameters.\n      this.props.navigationStore[actionKey](params);\n    }\n  };\n\n  render() {\n    const {\n      dispatch, state, navigator: AppNavigator, navigationStore,\n    } = this.props;\n    if (dispatch && state) {\n      navigationStore.externalDispatch = dispatch;\n      navigationStore.externalState = state;\n      return (\n        <AppNavigator\n          dispatch={navigationStore.dispatch}\n          state={navigationStore.state}\n          ref={(navigatorRef) => {\n            navigationStore.setTopLevelNavigator(navigatorRef);\n          }}\n        />\n      );\n    }\n    return (\n      <AppNavigator\n        onNavigationStateChange={navigationStore.onNavigationStateChange}\n        ref={(navigatorRef) => {\n          navigationStore.setTopLevelNavigator(navigatorRef);\n        }}\n      />\n    );\n  }\n}\n\nconst Router = ({\n  createReducer, sceneStyle, onStateChange, scenes, uriPrefix, navigator, getSceneStyle, children, onDeepLink, wrapBy, navigationStore: store, ...props\n}) => {\n  const data = { ...props };\n  if (getSceneStyle) {\n    data.cardStyle = getSceneStyle(props);\n  }\n  if (sceneStyle) {\n    data.cardStyle = sceneStyle;\n  }\n  const navigationStore = store || defaultStore;\n  const AppNavigator = scenes || navigator || navigationStore.create(children, data, wrapBy);\n  navigationStore.reducer = createReducer && createReducer(props);\n  if (onStateChange) {\n    navigationStore.onStateChange = onStateChange;\n  }\n  return <App {...props} onDeepLink={onDeepLink} navigator={AppNavigator} uriPrefix={uriPrefix} navigationStore={navigationStore} />;\n};\nRouter.propTypes = {\n  onStateChange: PropTypes.func,\n  scenes: PropTypes.func,\n  navigator: PropTypes.func,\n  wrapBy: PropTypes.func,\n  getSceneStyle: PropTypes.func,\n  sceneStyle: ViewPropTypes.style,\n  createReducer: PropTypes.func,\n  children: PropTypes.element,\n  uriPrefix: PropTypes.string,\n  onDeepLink: PropTypes.func,\n  navigationStore: PropTypes.instanceOf(NavigationStore),\n};\nRouter.defaultProps = {\n  onStateChange: null,\n  scenes: null,\n  navigator: null,\n  wrapBy: props => props,\n  getSceneStyle: null,\n  sceneStyle: null,\n  children: null,\n  uriPrefix: null,\n  onDeepLink: null,\n  navigationStore: null,\n};\n\nexport default Router;\n"
  },
  {
    "path": "src/Scene.js",
    "content": "/**\n * Copyright (c) 2015-present, Pavel Aksonov\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\nexport default () => null;\n"
  },
  {
    "path": "src/Stack.js",
    "content": "/**\n * Copyright (c) 2015-present, Pavel Aksonov\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\nexport default () => null;\n"
  },
  {
    "path": "src/State.js",
    "content": "export function getActiveStateExceptDrawer(param) {\n  const state = param;\n  if (!state.routes) {\n    return state;\n  }\n  if (state.routes[state.index].routeName === 'DrawerOpen') {\n    return getActiveState(state.routes[0]);\n  }\n  return getActiveState(state.routes[state.index]);\n}\n\nexport function isActiveRoute(state, routeName) {\n  if (state.routeName === routeName) {\n    return true;\n  }\n  if (!state.routes) {\n    return state.routeName === routeName;\n  }\n  if (state.routes[state.index].routeName === 'DrawerOpen') {\n    return isActiveRoute(state.routes[0], routeName);\n  }\n  return isActiveRoute(state.routes[state.index], routeName);\n}\n\nexport function getRouteNameByKey(state, key) {\n  if (state.key === key) {\n    return state.routeName;\n  }\n  if (!state.routes) {\n    return state.routeName;\n  }\n  if (state.routes[state.index].key === key) {\n    return state.routes[state.index].routeName;\n  }\n  return getRouteNameByKey(state.routes[state.index], key);\n}\n\nexport function getActiveState(param, parent) {\n  const state = param;\n  if (!state.routes) {\n    return { ...state, parent };\n  }\n  return getActiveState(state.routes[state.index], { ...state, parent });\n}\n\nexport function getParent(state, routeName, parent) {\n  if (state.routeName === routeName) {\n    return parent;\n  }\n  if (!state.routes) {\n    return null;\n  }\n  for (let i = 0; i < state.routes.length; i += 1) {\n    const res = getParent(state.routes[i], routeName, state);\n    if (res) {\n      return res;\n    }\n  }\n  return null;\n}\n\nexport function inject(state, key, index, routes) {\n  if (!state.routes) {\n    return state;\n  }\n  if (state.key === key) {\n    if (routes) {\n      return { ...state, routes, index };\n    }\n    return { ...state, index };\n  }\n  return { ...state, routes: state.routes.map(x => inject(x, key, index, routes)) };\n}\n\nexport function popPrevious(state, routeName) {\n  const parent = getParent(state, routeName);\n  // console.log('FOUND PARENT:', JSON.stringify(parent));\n  const { key, index } = parent;\n  if (index) {\n    const routes = [...parent.routes.slice(0, index - 1), ...parent.routes.slice(index)];\n    const newState = inject(state, key, index - 1, routes);\n    return newState;\n  }\n  return state;\n}\n"
  },
  {
    "path": "src/Store.js",
    "content": "import React from 'react';\nimport { Image, Animated, Easing } from 'react-native';\nimport { createAppContainer, NavigationActions, StackActions } from 'react-navigation';\nimport { createStackNavigator } from 'react-navigation-stack';\nimport { createDrawerNavigator, DrawerActions } from 'react-navigation-drawer';\nimport { createMaterialTopTabNavigator, createBottomTabNavigator } from 'react-navigation-tabs';\nimport PropTypes from 'prop-types';\nimport createReducer from './Reducer';\nimport * as ActionConst from './ActionConst';\nimport { OnEnter, OnExit, assert } from './Util';\nimport { LeftButton, RightButton, BackButton } from './NavBar';\nimport LightboxRenderer from './LightboxRenderer';\nimport _drawerImage from '../images/menu_burger.png';\nimport { getActiveState, getParent, getRouteNameByKey } from './State';\nimport Modal from './Modal';\nimport Lightbox from './Lightbox';\nimport Drawer from './Drawer';\nimport Tabs from './Tabs';\nimport Overlay from './Overlay';\nimport OverlayRenderer from './OverlayRenderer';\nimport createStackNavigatorHOC from './createStackNavigatorHOC';\nimport createTabNavigatorHOC from './createTabNavigatorHOC';\n\nlet RightNavBarButton;\nlet LeftNavBarButton;\nlet BackNavBarButton;\nlet counter = 0;\n\nexport const actionMap = {\n  [ActionConst.JUMP]: 'jump',\n  [ActionConst.PUSH]: 'push',\n  [ActionConst.REPLACE]: 'replace',\n  [ActionConst.BACK]: 'pop',\n  [ActionConst.BACK_ACTION]: 'pop',\n  [ActionConst.POP_TO]: 'popTo',\n  [ActionConst.REFRESH]: 'refresh',\n  [ActionConst.RESET]: 'reset',\n  [ActionConst.PUSH_OR_POP]: 'push',\n};\n\nconst reservedKeys = [\n  'addRef',\n  'back',\n  'children',\n  'create',\n  'dispatch',\n  'drawerClose',\n  'drawerOpen',\n  'execute',\n  'left',\n  'leftButton',\n  'navBar',\n  'navigate',\n  'on',\n  'onEnter',\n  'onExit',\n  'onLeft',\n  'onRight',\n  'pop',\n  'popTo',\n  'push',\n  'refresh',\n  'refs',\n  'removeRef',\n  'renderLeftButton',\n  'renderRightButton',\n  'renderTitle',\n  'replace',\n  'right',\n  'rightButton',\n  'run',\n  'setParams',\n  'title',\n];\n\nconst dontInheritKeys = [\n  'backToInitial',\n  'children',\n  'component',\n  'contentComponent',\n  'drawer',\n  'hideNavBar',\n  'hideTabBar',\n  'key',\n  'lightbox',\n  'modal',\n  'navigator',\n  'navTransparent',\n  'overlay',\n  'ref',\n  'style',\n  'tabBarComponent',\n  'tabs',\n  'title',\n  'type',\n];\n\nfunction getValue(value, params) {\n  return value instanceof Function ? value(params) : value;\n}\n\nfunction getProperties(component = {}) {\n  const res = {};\n  for (const key of reservedKeys) {\n    if (component[key]) {\n      res[key] = component[key];\n    }\n  }\n  delete res.children;\n  return res;\n}\nfunction createTabBarOptions({\n  tabBarStyle, activeTintColor, inactiveTintColor, activeBackgroundColor, inactiveBackgroundColor, showLabel, labelStyle, tabStyle, ...props\n}) {\n  return {\n    ...props,\n    style: tabBarStyle,\n    activeTintColor,\n    inactiveTintColor,\n    activeBackgroundColor,\n    inactiveBackgroundColor,\n    showLabel,\n    labelStyle,\n    tabStyle,\n  };\n}\nfunction createNavigationOptions(params) {\n  const {\n    type,\n    cardStyle,\n    back,\n    backButtonImage,\n    backButtonTextStyle,\n    backTitle,\n    backTitleEnabled,\n    backToInitial,\n    component,\n    drawerIcon,\n    drawerImage,\n    drawerPosition,\n    getTitle,\n    headerLayoutPreset,\n    headerStyle,\n    headerTitleStyle,\n    hideDrawerButton,\n    hideNavBar,\n    hideTabBar,\n    icon,\n    init,\n    left,\n    leftButton,\n    leftButtonImage,\n    leftButtonTextStyle,\n    leftTitle,\n    navBar,\n    navBarButtonColor,\n    navigationBarStyle,\n    navigationBarTitleImage,\n    navigationBarTitleImageStyle,\n    navTransparent,\n    onLeft,\n    onRight,\n    panHandlers,\n    renderBackButton,\n    renderNavigationBar,\n    renderTitle,\n    right,\n    rightButton,\n    rightButtonImage,\n    rightButtonTextStyle,\n    rightTitle,\n    tabBarIcon,\n    tabBarLabel,\n    title,\n    titleStyle,\n    ...props\n  } = params;\n  const NavBar = renderNavigationBar || navBar;\n  if (component && component.navigationOptions) {\n    return component.navigationOptions;\n  }\n  return ({ navigation, screenProps }) => {\n    const navigationParams = navigation.state.params || {};\n    const state = {\n      navigation,\n      ...params,\n      ...navigationParams,\n      ...screenProps,\n    };\n    const res = {\n      animationEnabled: !(type === ActionConst.REPLACE || type === 'replace'  || type === ActionConst.RESET || type === 'reset'),\n      ...props,\n      cardStyle: navigationParams.cardStyle || cardStyle,\n      headerBackImage: navigationParams.backButtonImage || backButtonImage,\n      headerBackTitle: getValue(navigationParams.backTitle || backTitle, state),\n      headerBackTitleEnabled: navigationParams.backTitleEnabled || backTitleEnabled,\n      headerLayoutPreset: navigationParams.headerLayoutPreset || headerLayoutPreset,\n      headerLeft: () => getValue(navigationParams.left || left || leftButton || params.renderLeftButton, state),\n      headerRight: () => getValue(navigationParams.right || right || rightButton || params.renderRightButton, state),\n      headerStyle: getValue(navigationParams.headerStyle || headerStyle || navigationBarStyle, state),\n      headerTintColor: navBarButtonColor || props.tintColor || navigationParams.tintColor || navigationParams.headerTintColor,\n      headerTitle: getValue(navigationParams.renderTitle || renderTitle || params.renderTitle, state),\n      headerTitleStyle: headerTitleStyle || titleStyle,\n      title: getValue(navigationParams.title || title || getTitle, state),\n    };\n\n    const NavBarFromParams = navigationParams.renderNavigationBar || navigationParams.navBar;\n    if (NavBarFromParams != null) {\n      if (NavBarFromParams) {\n        res.header = data => <NavBarFromParams navigation={navigation} {...state} {...data} />;\n      }\n    } else if (NavBar) {\n      res.header = data => <NavBar navigation={navigation} {...state} {...data} />;\n    }\n\n    if (typeof navigationParams.panHandlers !== 'undefined') {\n      if (navigationParams.panHandlers === null) {\n        res.gesturesEnabled = false;\n      }\n    } else if (panHandlers === null) {\n      res.gesturesEnabled = false;\n    }\n\n    if (navigationBarTitleImage) {\n      res.headerTitle = <Image source={navigationBarTitleImage} style={navigationBarTitleImageStyle} />;\n    }\n\n    if (tabBarLabel) {\n      res.tabBarLabel = tabBarLabel;\n    }\n\n    if (tabBarIcon || icon) {\n      const Icon = tabBarIcon || icon;\n      res.tabBarIcon = data => <Icon {...state} {...data} />;\n    }\n    const componentData = {};\n    // copy all component static functions\n    if (component) {\n      for (const key of [\n        'onRight',\n        'onLeft',\n        'rightButton',\n        'leftButton',\n        'leftTitle',\n        'rightTitle',\n        'rightButtonImage',\n        'leftButtonImage',\n        'rightButtonTextStyle',\n        'leftButtonTextStyle',\n        'rightButtonIconStyle',\n        'leftButtonIconStyle',\n        'leftButtonTintColor',\n        'rightButtonTintColor',\n      ]) {\n        if (component[key]) {\n          componentData[key] = component[key];\n        }\n      }\n    }\n\n    if (\n      rightButtonImage\n      || rightTitle\n      || params.renderRightButton\n      || onRight\n      || navigationParams.onRight\n      || navigationParams.rightTitle\n      || navigationParams.rightButtonImage\n      || rightButtonTextStyle\n      || ((drawerImage || drawerIcon) && !hideDrawerButton && drawerPosition === 'right')\n    ) {\n      res.headerRight = () => getValue(navigationParams.right || navigationParams.rightButton || params.renderRightButton, { ...navigationParams, ...screenProps }) || (\n        <RightNavBarButton navigation={navigation} {...params} {...navigationParams} {...componentData} />\n      );\n    }\n\n    if (\n      leftButtonImage\n      || backButtonImage\n      || backTitle\n      || leftTitle\n      || params.renderLeftButton\n      || leftButtonTextStyle\n      || renderBackButton\n      || backButtonTextStyle\n      || onLeft\n      || navigationParams.leftTitle\n      || navigationParams.onLeft\n      || navigationParams.leftButtonImage\n      || navigationParams.backButtonImage\n      || navigationParams.backTitle\n      || ((drawerImage || drawerIcon) && !hideDrawerButton && drawerPosition !== 'right')\n    ) {\n      const leftButton = navigationParams.left || navigationParams.leftButton || params.renderLeftButton;\n      res.headerLeft = () => getValue(leftButton, { ...params, ...navigationParams, ...screenProps })\n        || (((onLeft && (leftTitle || navigationParams.leftTitle || leftButtonImage || navigationParams.leftButtonImage)) || drawerImage || drawerIcon) && (\n          <LeftNavBarButton navigation={navigation} {...params} {...navigationParams} {...componentData} />\n        ))\n        || res.headerLeft\n        || (init ? null : (!leftButton && renderBackButton && renderBackButton(state)) || (!leftButton && <BackNavBarButton navigation={navigation} {...state} />))\n        || null;\n    }\n\n    if (back) {\n      res.headerLeft = (renderBackButton && renderBackButton(state)) || (() => <BackNavBarButton navigation={navigation} {...state} />);\n    }\n\n    if (typeof navigationParams.left !== 'undefined' || typeof navigationParams.leftButton !== 'undefined' || typeof navigationParams.renderLeftButton !== 'undefined') {\n      if (navigationParams.left === null || navigationParams.leftButton === null || navigationParams.renderLeftButton === null) {\n        res.headerLeft = null;\n      }\n    }\n\n    // currect dynamic navigation params has priority over static scene params\n    // but taking them into account only if they are explicitly set (not null or undefined)\n    const routeParams = navigation.state.routes && navigation.state.routes[navigation.state.index].params;\n    if (navigationParams.hideTabBar != null) {\n      if (navigationParams.hideTabBar) {\n        res.tabBarVisible = false;\n      }\n    } else if (hideTabBar) {\n      res.tabBarVisible = false;\n    } else if (routeParams && routeParams.hideTabBar) {\n      res.tabBarVisible = false;\n    }\n\n    if (navigationParams.hideNavBar != null) {\n      if (navigationParams.hideNavBar) {\n        res.header = null;\n      }\n    } else if (hideNavBar) {\n      res.header = null;\n    }\n\n    if (navTransparent) {\n      res.headerTransparent = true;\n      res.headerStyle = {};\n    }\n\n    if (backToInitial) {\n      const userDefinedTabBarOnPress = res.tabBarOnPress;\n      res.tabBarOnPress = (data) => {\n        if (userDefinedTabBarOnPress) {\n          console.warn('backToInitial and tabBarOnPress were both defined and might cause unexpected navigation behaviors. I hope you know what you are doing ;-)');\n          userDefinedTabBarOnPress(data);\n        }\n        if (data.navigation && data.navigation.state.index !== 0) {\n          data.navigation.dispatch(StackActions.popToTop());\n        } else {\n          data.defaultHandler();\n        }\n      };\n    }\n    return res;\n  };\n}\nfunction originalRouteName(routeName) {\n  if (routeName.startsWith('_')) {\n    return routeName.substring(1);\n  }\n  return routeName;\n}\nfunction isStatelessComponent(Component) {\n  return !Component.prototype || typeof Component.prototype.render !== 'function';\n}\nfunction extendProps(props, store: NavigationStore) {\n  if (!props) {\n    return {};\n  }\n  const res = { ...props };\n  for (const transition of Object.keys(props)) {\n    if (\n      reservedKeys.indexOf(transition) === -1\n      && transition.startsWith('on')\n      && transition.charAt(2) >= 'A'\n      && transition.charAt(2) <= 'Z'\n      && typeof props[transition] === 'string'\n    ) {\n      if (store[props[transition]]) {\n        res[transition] = params => store[props[transition]](params);\n      }\n    }\n  }\n  return res;\n}\n// eslint no-param-reassign: \"error\"\nfunction createWrapper(Component, wrapBy, store: NavigationStore) {\n  if (!Component) {\n    return null;\n  }\n  const wrapper = wrapBy || (props => props);\n\n  // detect if the component is not functional stateless\n  // not sure if Component can be string-defined (\"div\") here\n  // may be there is a better way to detect stateless function component, but this should work\n  if (!isStatelessComponent(Component)) {\n    class Wrapped extends React.Component {\n      static propTypes = {\n        navigation: PropTypes.shape().isRequired,\n      };\n\n      constructor() {\n        super();\n        this.onRef = this.onRef.bind(this);\n      }\n\n      componentDidMount() {\n        const { navigation } = this.props;\n        if (this.ref && navigation && navigation.state && navigation.state.routeName) {\n          store.addRef(originalRouteName(navigation.state.routeName), this.ref);\n        }\n        if (this.ref && this.ref.onEnter) {\n          this.ref.onEnter(navigation && navigation.state);\n        }\n      }\n\n      componentWillUnmount() {\n        const { navigation } = this.props;\n        if (this.ref && navigation && navigation.state && navigation.state.routeName) {\n          store.deleteRef(originalRouteName(navigation.state.routeName));\n        }\n        if (this.ref && this.ref.onExit) {\n          this.ref.onExit(navigation && navigation.state);\n        }\n        this.ref = null;\n      }\n\n      onRef(ref) {\n        this.ref = ref;\n      }\n\n      render() {\n        const { navigation } = this.props;\n        if (!navigation || !navigation.state) {\n          return <Component ref={this.onRef} {...this.props} />;\n        }\n        return <Component ref={this.onRef} {...this.props} {...extendProps(navigation.state.params, store)} name={navigation.state.routeName} />;\n      }\n    }\n    return wrapper(Wrapped);\n  }\n\n  // if component is statless function, ref is not supported\n  function StatelessWrapped({ navigation, ...props }) {\n    return <Component {...props} navigation={navigation} {...extendProps(navigation.state.params, store)} name={navigation.state.routeName} />;\n  }\n  StatelessWrapped.propTypes = {\n    navigation: PropTypes.shape().isRequired,\n  };\n  return wrapper(StatelessWrapped);\n}\n\nfunction filterParam(data = {}) {\n  if (data.toString() !== '[object Object]') {\n    return { data };\n  }\n  const proto = (data || {}).constructor.name;\n  // avoid passing React Native parameters\n  if (!data || proto !== 'Object') {\n    return {};\n  }\n  return data;\n}\n\nfunction uniteParams(routeName, params) {\n  let res = {};\n  for (const param of params) {\n    if (param) {\n      res = { ...res, ...filterParam(param) };\n    }\n  }\n  res.routeName = routeName;\n  return res;\n}\n\nconst defaultSuccess = () => {};\nconst defaultFailure = () => {};\n\nexport default class NavigationStore {\n  getStateForAction = null;\n\n  reducer = null;\n\n  _navigator = null;\n\n  externalDispatch = null;\n\n  externalState = null;\n\n  prevState = null;\n\n  externalAction = {};\n\n  refs = {};\n\n  states = {};\n\n  isLogical = {};\n\n  currentScene;\n\n  prevScene;\n\n  currentParams;\n\n  onStateChange;\n\n  set externalState(state) {\n    if (state && this.externalDispatch) {\n      this.onNavigationStateChange(this.state, state, this.externalAction);\n      this.state = state;\n    }\n  }\n\n  setCustomReducer = (Navigator) => {\n    this.getStateForAction = Navigator.router.getStateForAction;\n    const reducer = createReducer(this);\n    Navigator.router.getStateForAction = (cmd, state) => (this.reducer ? this.reducer(state, cmd) : reducer(state, cmd));\n  };\n\n  onEnterHandler = async (currentScene) => {\n    if (this.states[currentScene]) {\n      const handler = this[currentScene + OnEnter];\n      const success = this.states[currentScene].success || defaultSuccess;\n      const failure = this.states[currentScene].failure || defaultFailure;\n      if (handler) {\n        try {\n          const res = await handler(this.currentParams, this.state);\n          if (res) {\n            success(res);\n          } else {\n            failure();\n          }\n        } catch (e) {\n          failure({ error: e.message });\n        }\n      }\n    }\n  };\n\n  onExitHandler = (prevScene) => {\n    if (prevScene) {\n      const exitHandler = this[prevScene + OnExit];\n      if (exitHandler) {\n        try {\n          const res = exitHandler(this.state);\n          if (res instanceof Promise) {\n            res.then(defaultSuccess, defaultFailure);\n          }\n        } catch (e) {\n          console.error('Error during onExit handler:', e);\n        }\n      }\n    }\n  };\n\n  onNavigationStateChange = async (prevState, currentState, action) => {\n    this.state = currentState;\n    this.prevState = prevState;\n    const activeState = getActiveState(this.state);\n    const currentScene = activeState.routeName;\n    this.currentParams = { ...activeState.params, ...action.params };\n    this.currentScene = currentScene;\n    this.prevScene = this.prevState ? getActiveState(this.prevState).routeName : null;\n    if (this.currentScene !== this.prevScene) {\n      // run onExit for old scene\n      this.onExitHandler(this.prevScene);\n      setTimeout(() => this.dispatch({\n        type: ActionConst.FOCUS,\n        routeName: this.currentScene,\n        params: this.currentParams,\n      }));\n      this.onEnterHandler(currentScene);\n    } else {\n      const routeName = getRouteNameByKey(this.state, action.key);\n      if (action.type === 'Navigation/DRAWER_OPENED') {\n        this.onEnterHandler(routeName);\n      } else if (action.type === 'Navigation/DRAWER_CLOSED') {\n        this.onExitHandler(routeName);\n      }\n    }\n    if (this.onStateChange) {\n      this.onStateChange(prevState, currentState, action);\n    }\n  };\n\n  setTopLevelNavigator = (navigatorRef) => {\n    this._navigator = navigatorRef;\n  };\n\n  addRef = (name, ref) => {\n    this.refs[name] = ref;\n  };\n\n  deleteRef = (name) => {\n    delete this.refs[name];\n  };\n\n  create = (scene: Scene, params = {}, wrapBy = props => props) => {\n    assert(!Array.isArray(scene), 'Router should contain only one scene, please wrap your scenes with root Scene ');\n    RightNavBarButton = wrapBy(RightButton);\n    LeftNavBarButton = wrapBy(LeftButton);\n    BackNavBarButton = wrapBy(BackButton);\n    const Navigator = this.processScene(scene, params, [], wrapBy);\n    // set initial state\n    this.onNavigationStateChange(null, Navigator.router.getStateForAction(NavigationActions.init()), NavigationActions.init());\n    this.setCustomReducer(Navigator);\n\n    return createAppContainer(Navigator);\n  };\n\n  createAction = name => (args) => {\n    // console.log(`Transition to state=${name}`);\n    if (this.isLogical[name]) {\n      this[name](args);\n    } else {\n      setTimeout(() => this[name](args));\n    }\n  };\n\n  processScene = (scene: Scene, inheritProps = {}, clones = [], wrapBy) => {\n    assert(scene.props, 'props should be defined');\n    if (!scene.props.children) {\n      return null;\n    }\n    const res = {};\n    const order = [];\n    const {\n      navigator, renderer, contentComponent, drawerWidth, drawerLockMode, tabBarPosition, lazy, duration, ...parentProps\n    } = scene.props;\n    let {\n      tabs, modal, lightbox, overlay, drawer, transitionConfig, tabBarComponent,\n    } = parentProps;\n    if (scene.type === Modal) {\n      modal = true;\n    } else if (scene.type === Drawer) {\n      drawer = true;\n    } else if (scene.type === Lightbox) {\n      lightbox = true;\n    } else if (scene.type === Tabs) {\n      tabs = true;\n    } else if (scene.type === Overlay) {\n      overlay = true;\n    }\n\n    if (duration !== undefined && !transitionConfig) {\n      transitionConfig = () => ({\n        transitionSpec: {\n          duration,\n          timing: Animated.timing,\n          easing: Easing.step0,\n        },\n      });\n    }\n\n    const commonProps = { ...inheritProps, ...parentProps };\n    delete commonProps.children;\n    delete commonProps.component;\n    // add inherit props\n    for (const pkey of Object.keys(commonProps)) {\n      if (dontInheritKeys.includes(pkey) && (pkey === 'type' || pkey === 'hideNavBar' || !parentProps[pkey])) {\n        delete commonProps[pkey];\n      }\n    }\n\n    if (drawer) {\n      commonProps.drawerImage = commonProps.drawerImage || _drawerImage;\n    }\n\n    const children = !Array.isArray(parentProps.children) ? [parentProps.children] : [].concat(...parentProps.children);\n    // add clone scenes\n    if (!drawer && !tabs && !overlay) {\n      children.push(...clones);\n    }\n    // add all clones\n    for (const child of children) {\n      if (child && child.props.clone) {\n        if (clones.indexOf(child) === -1) {\n          clones.push(child);\n        }\n      }\n    }\n    let initialRouteName;\n    let initialRouteParams;\n    for (const child of children) {\n      // allow null/false child, useful for conditionals\n      if (!child) {\n        continue;\n      }\n      const key = child.key || `key${(counter += 1)}`;\n      const init = key === children[0].key;\n      assert(reservedKeys.indexOf(key) === -1, `Scene name cannot be reserved word: ${child.key}`);\n      const {\n        component, type = tabs || drawer ? 'jump' : 'push', path, onEnter, onExit, on, failure, success, wrap, initial = false, ...props\n      } = child.props;\n      if (!this.states[key]) {\n        this.states[key] = {};\n      }\n      for (const transition of Object.keys(props)) {\n        if (reservedKeys.indexOf(transition) === -1 && props[transition] instanceof Function) {\n          this.states[key][transition] = props[transition];\n        }\n      }\n      delete props.children;\n      if (success) {\n        this.states[key].success = success instanceof Function ? success : this.createAction(success);\n      }\n      if (failure) {\n        this.states[key].failure = failure instanceof Function ? failure : this.createAction(failure);\n      }\n      if (path) {\n        this.states[key].path = path;\n      }\n      // console.log(`KEY ${key} LEGACY {legacy} PATH ${path} DRAWER ${drawer} TABS ${tabs} WRAP ${wrap}`, JSON.stringify(commonProps));\n      const screen = {\n        screen: createWrapper(component, wrapBy, this) || this.processScene(child, commonProps, clones) || (lightbox && (() => null)),\n        navigationOptions: createNavigationOptions({\n          ...commonProps,\n          hideNavBar: parentProps.hideNavBar,\n          ...getProperties(component),\n          ...child.props,\n          init,\n          component,\n        }),\n      };\n\n      // wrap component inside own navbar for tabs/drawer parent controllers\n      // don't wrap child scenes for custom navigators/renderers\n      let wrapNavBar = drawer || (tabs && !navigator && !renderer) || wrap;\n      if (wrap === false || commonProps.wrap === false) {\n        wrapNavBar = false;\n      }\n      if (component && wrapNavBar) {\n        res[key] = {\n          screen: this.processScene(\n            {\n              key,\n              props: {\n                children: {\n                  key: `_${key}`,\n                  props: { ...child.props, wrap: false },\n                },\n              },\n            },\n            commonProps,\n            clones,\n            wrapBy,\n          ),\n          navigationOptions: createNavigationOptions({\n            ...commonProps,\n            ...child.props,\n            hideNavBar: true,\n          }),\n        };\n      } else {\n        res[key] = screen;\n      }\n\n      // a bit of magic, create all 'actions'-shortcuts inside navigationStore\n      props.init = true;\n      if (!this[key]) {\n        this.isLogical[key] = !!component;\n        this[key] = new Function(\n          'actions',\n          'props',\n          'type',\n          `return function ${\n            key.replace(/\\W/g, '_') // eslint-disable-line no-new-func\n          }(params){ actions.execute(type, '${key}', props, params)}`,\n        )(this, { error: '', ...commonProps, ...props }, type);\n      }\n\n      if ((onEnter || on || (component && component.onEnter)) && !this[key + OnEnter]) {\n        this[key + OnEnter] = onEnter || on || component.onEnter;\n      }\n\n      if ((onExit || (component && component.onExit)) && !this[key + OnExit]) {\n        this[key + OnExit] = onExit || component.onExit;\n      }\n\n      order.push(key);\n      if (initial || child.props.initial || !initialRouteName) {\n        initialRouteName = key;\n        initialRouteParams = { ...commonProps, ...props };\n      }\n    }\n    const mode = modal ? 'modal' : 'card';\n    const navigationConfig = {\n      lazy,\n      initialRouteName,\n      initialRouteParams,\n      contentComponent,\n      order,\n      ...commonProps,\n      navigationOptions: createNavigationOptions(commonProps),\n    };\n    if (navigator) {\n      return navigator(res, navigationConfig);\n    }\n    if (renderer) {\n      return tabs ? createTabNavigatorHOC(renderer)(res, navigationConfig) : createStackNavigatorHOC(renderer)(res, navigationConfig);\n    }\n    if (lightbox) {\n      return createStackNavigatorHOC(LightboxRenderer)(res, {\n        mode,\n        initialRouteParams,\n        initialRouteName,\n        ...commonProps,\n        navigationOptions: createNavigationOptions(commonProps),\n      });\n    }\n\n    if (tabs) {\n      let createTabNavigator = createMaterialTopTabNavigator;\n      if (tabBarPosition !== 'top') {\n        createTabNavigator = createBottomTabNavigator;\n      }\n\n      return createTabNavigator(res, {\n        lazy,\n        tabBarComponent,\n        initialRouteName,\n        initialRouteParams,\n        tabBarPosition,\n        order,\n        ...commonProps,\n        tabBarOptions: createTabBarOptions(commonProps),\n        navigationOptions: createNavigationOptions(commonProps),\n      });\n    }\n\n    if (drawer) {\n      const config = {\n        initialRouteName,\n        contentComponent,\n        order,\n        drawerOpenRoute: 'DrawerOpen',\n        drawerCloseRoute: 'DrawerClose',\n        drawerToggleRoute: 'DrawerToggle',\n        ...commonProps,\n      };\n      if (drawerWidth) {\n        config.drawerWidth = drawerWidth;\n      }\n      if (drawerLockMode) {\n        config.drawerLockMode = drawerLockMode;\n      }\n      return createDrawerNavigator(res, config);\n    }\n\n    if (overlay) {\n      return createTabNavigatorHOC(OverlayRenderer)(res, {\n        lazy,\n        initialRouteName,\n        contentComponent,\n        initialRouteParams,\n        order,\n        ...commonProps,\n        tabBarOptions: createTabBarOptions(commonProps),\n        navigationOptions: createNavigationOptions(commonProps),\n      });\n    }\n    return createStackNavigator(res, {\n      mode,\n      initialRouteParams,\n      initialRouteName,\n      ...commonProps,\n      transitionConfig,\n      navigationOptions: createNavigationOptions(commonProps),\n    });\n  };\n\n  dispatch = (action) => {\n    if (this.externalDispatch) {\n      this.externalAction = action;\n      this.externalDispatch(action);\n    } else if (this._navigator) {\n      this._navigator.dispatch(action);\n    }\n  };\n\n  execute = (actionType, routeName, ...params) => {\n    const res = uniteParams(routeName, params);\n    const overridenType = res.type || actionType;\n    const type = actionMap[overridenType] || overridenType;\n    if (type === 'pop') {\n      this[type](res);\n    } else {\n      this[type](routeName, res);\n    }\n  };\n\n  push = (routeName, data) => {\n    const params = filterParam(data);\n    this.dispatch({ type: StackActions.PUSH, routeName, params });\n  };\n\n  jump = (routeName, data) => {\n    const params = filterParam(data);\n    this.dispatch({ type: NavigationActions.NAVIGATE, routeName, params });\n  };\n\n  drawerOpen = () => {\n    this.dispatch(DrawerActions.openDrawer());\n  };\n\n  drawerClose = () => {\n    this.dispatch(DrawerActions.closeDrawer());\n  };\n\n  drawerToggle = () => {\n    this.dispatch(DrawerActions.toggleDrawer());\n  };\n\n  refresh = (data, sceneKey = null) => {\n    const params = filterParam(data);\n    const { key } = getActiveState(this.state);\n    this.dispatch(\n      NavigationActions.setParams({\n        key: sceneKey || key,\n        params,\n      }),\n    );\n  };\n\n  pop = ({ timeout, key, ...params } = {}) => {\n    const res = filterParam(params);\n    if (timeout) {\n      setTimeout(() => this.pop(params), timeout);\n    } else {\n      this.dispatch(NavigationActions.back({ key }));\n      if (res.refresh) {\n        this.refresh(res.refresh);\n      }\n    }\n    return true;\n  };\n\n  popTo = (routeName, data) => {\n    const params = filterParam(data);\n    this.dispatch({ type: ActionConst.POP_TO, routeName, params });\n  };\n\n  popAndPush = (routeName, data) => {\n    const params = filterParam(data);\n    this.dispatch({ type: ActionConst.POP_AND_PUSH, routeName, params });\n  };\n\n  replace = (routeName, data) => {\n    const params = filterParam(data);\n    this.dispatch({ type: ActionConst.REPLACE, routeName, params });\n  };\n\n  reset = (routeName, data) => {\n    const params = filterParam(data);\n    const parent = getParent(this.state, routeName);\n    this.dispatch(\n      StackActions.reset({\n        index: 0,\n        key: parent ? parent.key : null,\n        actions: [\n          NavigationActions.navigate({\n            routeName,\n            params,\n          }),\n        ],\n      }),\n    );\n  };\n}\n"
  },
  {
    "path": "src/Tabs.js",
    "content": "/**\n * Copyright (c) 2015-present, Pavel Aksonov\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\nexport default () => null;\n"
  },
  {
    "path": "src/Util.js",
    "content": "// searches for the deepest explicitly set value for a key\n// in a navigationState tree.\nexport function deepestExplicitValueForKey(navigationState, key) {\n  let current;\n  let selected = navigationState;\n\n  while ({}.hasOwnProperty.call(selected, 'children')) {\n    if (!selected.tabs) {\n      // for pushed children, iterate through each, recording key value,\n      // until reaching the selected child\n      for (let i = 0; i < selected.index; i += 1) {\n        if (typeof selected.children[i][key] !== 'undefined') {\n          current = selected.children[i][key];\n        }\n      }\n    }\n    // set the new selected child and check for a key value\n    selected = selected.children[selected.index];\n    if (typeof selected[key] !== 'undefined') {\n      current = selected[key];\n    }\n  }\n\n  // fallback to the root key value\n  if (typeof current === 'undefined') {\n    current = navigationState[key];\n  }\n\n  return current;\n}\n\nexport function assert(expr, failDescription) {\n  if (!expr) {\n    throw new Error(`[react-native-router-flux] ${failDescription}`);\n  }\n}\n\nexport const OnEnter = 'onEnter';\nexport const OnExit = 'onExit';\n"
  },
  {
    "path": "src/createStackNavigatorHOC.js",
    "content": "/* @flow */\n\nimport { createNavigator, StackRouter } from 'react-navigation';\n\nexport default NavigationView => (routeConfigs, navigationConfig = {}) => {\n  const router = StackRouter(routeConfigs, navigationConfig);\n  return createNavigator(NavigationView, router, navigationConfig);\n};\n"
  },
  {
    "path": "src/createTabNavigatorHOC.js",
    "content": "/* @flow */\n\nimport { createNavigator, TabRouter } from 'react-navigation';\n\nexport default NavigationView => (routeConfigs, navigationConfig = {}) => {\n  const router = TabRouter(routeConfigs, navigationConfig);\n  return createNavigator(NavigationView, router, navigationConfig);\n};\n"
  },
  {
    "path": "src/defaultStore.js",
    "content": "import NavigationStore from './Store';\n\nconst defaultStore = new NavigationStore();\n\nexport default defaultStore;\n"
  },
  {
    "path": "src/index.js",
    "content": "import * as ActionConst from './ActionConst';\nimport Router from './Router';\nimport Reducer from './Reducer';\nimport Scene from './Scene';\nimport NavigationStore from './Store';\nimport defaultStore from './defaultStore';\nimport Modal from './Modal';\nimport Lightbox from './Lightbox';\nimport Stack from './Stack';\nimport Drawer from './Drawer';\nimport Tabs from './Tabs';\nimport Overlay from './Overlay';\nimport pathParser from './pathParser';\n\nconst Actions = defaultStore;\n\nexport {\n  Reducer, ActionConst, Router, Scene, NavigationStore, Actions, Modal, Lightbox, Stack, Drawer, Tabs, Overlay, pathParser,\n};\n"
  },
  {
    "path": "src/pathParser.js",
    "content": "import pathToRegexp from 'path-to-regexp';\n\n/**\n *\n * This set of functions are used to match a url with a uri path.\n * This functionality is based on the internals of React-Router's matchPath.\n * - https://github.com/ReactTraining/react-router/blob/master/packages/react-router/docs/api/matchPath.md\n *\n */\n\n/**\n * This function accepts a uri path and returns a regex to match that path\n * against a url and an array of the keys extracted from that uri path\n *\n * @param {String} path - a uri path in standard template (https://tools.ietf.org/html/rfc6570)\n *\n * Sample Input: \"/user/:id/\"\n *\n * Sample Output:\n * {\n *     re: /^\\/user\\/([^\\/]+?)\\/(?:\\/(?=$))?/i,\n *     keys: [\n *         name: \"id\"\n *         delimiter: \"/\"\n *         optional: false\n *         partial: false\n *         path: \"[^\\/]+?\"\n *         prefix: \"/\"\n *         repeat: false,\n *     ]\n * }\n */\nconst compilePathToRegex = (path) => {\n  const keys = [];\n  const re = pathToRegexp(path, keys);\n  // Returns the regex path to match a uri path to an actual url\n  // and the keys that can be used to pull values from the url.\n  return { re, keys };\n};\n\n/**\n * This function accepts a uri path and an actual url. It determines whether\n * or not they match one another. If they do not match, the funtion returns null.\n * If they do match, then the function returns the path and the params parsed\n * from the url.\n *\n * @param {String} path - a uri path in standard template (https://tools.ietf.org/html/rfc6570)\n * @param {String} url - a url that may or may not match the given path\n *\n * Case 1 - path Does Not Match Url:\n *   Sample Input: (path: \"/edit/organization/(:id)\", url: \"/user/300002/\")\n *\n *   Sample Output: null\n *\n * Case 2 - path Does Match Url:\n *   Sample Input: (path: \"/user/:id/\", url: \"/user/300002/\")\n *\n *   Sample Output:\n *   {\n *       path: \"/user/:id/\",\n *       params: {\n *           id: \"300002\",\n *       }\n *   }\n *\n */\nexport const matchPath = (path, url) => {\n  // Remove possible query fragments, which are not supported by iOS and some\n  // versions of Anroid.\n  const [urlCleaned] = url.split('?');\n\n  // Append trailing slash for compatibility with pathToRegexp\n  const urlToMatch = !urlCleaned.endsWith('/') ? `${urlCleaned}/` : urlCleaned;\n\n  // Return the regex and the keys that can be parsed from a uri path.\n  const { re, keys } = compilePathToRegex(path);\n\n  // Check if the given url matches the uri path.\n  const match = re.exec(urlToMatch);\n\n  // If there is no match, then return null.\n  if (!match) {\n    return null;\n  }\n\n  // Destructure to return the compiled url (aka the reconstructed url based\n  // on the regex and the url parameters.\n  const [compiledUrl, ...values] = match;\n\n  // If there is an inexact match (aka the compiled path does not match the\n  // given url, then return null)\n  if (urlToMatch !== compiledUrl) {\n    return null;\n  }\n\n  const params = keys.reduce((acc, key, index) => Object.assign({}, acc, { [key.name]: values[index] }), {});\n\n  return { path, params };\n};\n\n/**\n * This function accepts an array of uri paths and a url. If there are no paths\n * in the array that match the given url, then the function will return null.\n * If there is at least one matching uri path, it will return the first\n * matching path and the parsed url parameters (the output from matchPath()).\n *\n * @param {Array} possibleMatchingpaths - an array of uri paths in standard template (https://tools.ietf.org/html/rfc6570)\n * @param {String} url - a url that may or may not match a given path\n *\n */\nconst pathParser = (url, possibleMatchingpaths = []) => possibleMatchingpaths.map(path => matchPath(path, url)).find(obj => obj);\n\nexport default pathParser;\n"
  },
  {
    "path": "test/setup.js",
    "content": "import mocks from 'react-native-jest-mocks';\n\njest.mock('react-native-reanimated', () => {\n  const View = require('react-native/Libraries/Components/View/View');\n  return {\n    Value: jest.fn(),\n    event: jest.fn(),\n    add: jest.fn(),\n    eq: jest.fn(),\n    set: jest.fn(),\n    cond: jest.fn(),\n    interpolate: jest.fn(),\n    View,\n    Extrapolate: { CLAMP: jest.fn() },\n    Clock: jest.fn(),\n    greaterThan: jest.fn(),\n    lessThan: jest.fn(),\n    startClock: jest.fn(),\n    stopClock: jest.fn(),\n    clockRunning: jest.fn(),\n    not: jest.fn(),\n    or: jest.fn(),\n    and: jest.fn(),\n    spring: jest.fn(),\n    decay: jest.fn(),\n    defined: jest.fn(),\n    call: jest.fn(),\n    Code: View,\n    block: jest.fn(),\n    abs: jest.fn(),\n    greaterOrEq: jest.fn(),\n    lessOrEq: jest.fn(),\n    debug: jest.fn(),\n    Easing: {\n      in: jest.fn(),\n      out: jest.fn(),\n    },\n    Transition: {\n      Out: 'Out',\n    },\n  };\n});\n\njest.mock('react-native-gesture-handler', () => {\n  const View = require('react-native/Libraries/Components/View/View');\n  return {\n    Swipeable: View,\n    DrawerLayout: View,\n    State: {},\n    ScrollView: View,\n    Slider: View,\n    Switch: View,\n    TextInput: View,\n    ToolbarAndroid: View,\n    ViewPagerAndroid: View,\n    DrawerLayoutAndroid: View,\n    WebView: View,\n    NativeViewGestureHandler: View,\n    TapGestureHandler: View,\n    FlingGestureHandler: View,\n    ForceTouchGestureHandler: View,\n    LongPressGestureHandler: View,\n    PanGestureHandler: View,\n    PinchGestureHandler: View,\n    RotationGestureHandler: View,\n    /* Buttons */\n    RawButton: View,\n    BaseButton: View,\n    RectButton: View,\n    BorderlessButton: View,\n    /* Other */\n    FlatList: View,\n    gestureHandlerRootHOC: jest.fn(),\n    Directions: {},\n  };\n});\n\nmocks.initAll();\n"
  }
]