This is a quick react native + redux + detox + react navigation setup project
yarn install detox build --configuration ios.sim.debug detox test --configuration ios.sim.debug
As you can see, the first two tests run ok, the next to fail to run.
- Test 1 is checking whether the initial Scene is present
- Test 2 is test 1 + then navigating to another scene in the same flow
- Test 3 is test 2 + navigating back to initial Scene
- Test 4 is test 1 + navigation to another flow + navigation to another scene in that flow
[Demo]: detox test --configuration ios.sim.debug
node_modules/.bin/jest . --config=./jest/detox_config.json --maxWorkers=1 --testNamePattern='^((?!:android:).)*$'
server listening on localhost:59456...
: Searching for device matching iPhone 7 Plus...
: Uninstalling org.reactjs.native.example.Demo...
: org.reactjs.native.example.Demo uninstalled
: Installing /Users/me/react-native-demo/ios/build/Build/Products/Debug-iphonesimulator/Demo.app...
: /Users/me/react-native-demo/ios/build/Build/Products/Debug-iphonesimulator/Demo.app installed
: Trying to set permissions...
: Permissions are set
: Launching org.reactjs.native.example.Demo...
7: org.reactjs.native.example.Demo launched. The stdout and stderr logs were recreated, you can watch them with:
tail -F $HOME/Library/Developer/CoreSimulator/Devices/F99F4829-A25E-4C96-ADF9-17C6F055507C/data/tmp/detox.last_ aunch_app_log.{out,err}
FAIL app/__e2e__/App.spec.js (161.704s)
Intro
✓ Main scene visible (1638ms)
✓ Navigate to Main Foo scene (6595ms)
✕ Navigate to Main Foo scene and back (61359ms)
✕ Navigate to a Demo flow and Demo Foo scene (60978ms)
● Intro › Navigate to Main Foo scene and back
Timeout - Async callback was not invoked within the 60000ms timeout specified by jest.setTimeout.
16 | });
17 |
> 18 | it('Navigate to Main Foo scene and back', async () => {
| ^
19 | await expect(element(by.id('app'))).toExist();
20 | await expect(element(by.id('app:button.foo'))).toBeVisible();
21 | element(by.id('app:button.foo')).tap();
at Spec (node_modules/jest-jasmine2/build/jasmine/Spec.js:85:20)
at Suite.<anonymous> (app/__e2e__/App.spec.js:18:5)
at Object.<anonymous> (app/__e2e__/App.spec.js:4:1)
● Intro › Navigate to a Demo flow and Demo Foo scene
Timeout - Async callback was not invoked within the 60000ms timeout specified by jest.setTimeout.
28 | });
29 |
> 30 | it('Navigate to a Demo flow and Demo Foo scene', async () => {
| ^
31 | await expect(element(by.id('app'))).toExist();
32 | await expect(element(by.id('app:button.foo'))).toBeVisible();
33 | element(by.id('app:button.foo')).tap();
at Spec (node_modules/jest-jasmine2/build/jasmine/Spec.js:85:20)
at Suite.<anonymous> (app/__e2e__/App.spec.js:30:5)
at Object.<anonymous> (app/__e2e__/App.spec.js:4:1)
Test Suites: 1 failed, 1 total
Tests: 2 failed, 2 passed, 4 total
Snapshots: 0 total
Time: 162.046s
Ran all test suites matching /./i with tests matching "^((?!:android:).)*$".
child_process.js:615
throw err;
^
Error: Command failed: node_modules/.bin/jest . --config=./jest/detox_config.json --maxWorkers=1 --testNamePattern='^((?!:android:).)*$'
at checkExecSyncError (child_process.js:575:11)
at Object.execSync (child_process.js:612:13)
at runJest (/Users/me/react-native-demo/node_modules/detox/local-cli/detox-test.js:135:6)
at run (/Users/me/react-native-demo/node_modules/detox/local-cli/detox-test.js:78:7)
at Object.<anonymous> (/Users/me/react-native-demo/node_modules/detox/local-cli/detox-test.js:181:1)
at Module._compile (module.js:649:30)
at Object.Module._extensions..js (module.js:660:10)
at Module.load (module.js:561:32)
at tryModuleLoad (module.js:501:12)
at Function.Module._load (module.js:493:3)
[tmp]: cat detox.last_launch_app_log.err
2018-06-26 20:33:35.280 Demo[36004:2721274] Crash handler setup started.
2018-06-26 20:33:35.280 Demo[36004:2721274] Crash handler setup completed.
2018-06-26 20:33:35.280 Demo[36004:2721274] Enabling accessibility for automation on Simulator.
objc[36004]: Class VCWeakObjectHolder is implemented in both /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/AVConference.framework/Frameworks/ViceroyTrace.framework/ViceroyTrace (0x12a46c4d0) and /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/AVConference.framework/AVConference (0x12906ae38). One of the two will be used. Which one is undefined.
2018-06-26 20:33:36.451 [info][tid:main][RCTCxxBridge.mm:210] Initializing <RCTCxxBridge: 0x6000003c8ac0> (parent: <RCTBridge: 0x6040000d7530>, executor: (null))
2018-06-26 20:33:36.481 [warn][tid:main][RCTBridge.m:119] Class RCTCxxModule was not exported. Did you forget to use RCT_EXPORT_MODULE()?
2018-06-26 20:33:36.500 [warn][tid:main][RCTModuleData.mm:67] Module RCTImageLoader requires main queue setup since it overrides `init` but doesn't implement `requiresMainQueueSetup`. In a future release React Native will default to initializing all native modules on a background thread unless explicitly opted-out of.
2018-06-26 20:33:36.517 [info][tid:main][RCTRootView.m:293] Running application Demo ({
initialProps = {
};
rootTag = 1;
})
2018-06-26 20:33:37.099 [info][tid:com.facebook.react.JavaScript] Running application "Demo" with appParams: {"rootTag":1,"initialProps":{}}. __DEV__ === true, development-level warning are ON, performance optimizations are OFF
2018-06-26 20:33:37.118 [info][tid:com.facebook.react.JavaScript] 'navigation', { dispatch: [Function],
route:
{ key: 'StackRouterRoot',
isTransitioning: false,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041617072-1',
isTransitioning: false,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041617072-0',
routeName: 'App' } ],
routeName: 'MainRoot' } ] },
state:
{ key: 'StackRouterRoot',
isTransitioning: false,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041617072-1',
isTransitioning: false,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041617072-0',
routeName: 'App' } ],
routeName: 'MainRoot' } ] },
addListener: [Function],
goBack: [Function: goBack],
navigate: [Function: navigate],
pop: [Function: pop],
popToTop: [Function: popToTop],
setParams: [Function: setParams],
getParam: [Function: getParam],
push: [Function: push],
replace: [Function: replace] }
2018-06-26 20:33:37.461 [info][tid:main][RCTCxxBridge.mm:917] Invalidating <RCTCxxBridge: 0x6000003c8ac0> (parent: <RCTBridge: 0x6040000d7530>, executor: (null))
2018-06-26 20:33:37.461 [info][tid:main][RCTCxxBridge.mm:210] Initializing <RCTCxxBridge: 0x6000001ccf30> (parent: <RCTBridge: 0x6040000d7530>, executor: (null))
2018-06-26 20:33:37.463 [warn][tid:main][RCTModuleData.mm:67] Module RCTImageLoader requires main queue setup since it overrides `init` but doesn't implement `requiresMainQueueSetup`. In a future release React Native will default to initializing all native modules on a background thread unless explicitly opted-out of.
2018-06-26 20:33:37.843 [info][tid:main][RCTRootView.m:293] Running application Demo ({
initialProps = {
};
rootTag = 11;
})
2018-06-26 20:33:37.846 [info][tid:com.facebook.react.JavaScript] Running application "Demo" with appParams: {"rootTag":11,"initialProps":{}}. __DEV__ === true, development-level warning are ON, performance optimizations are OFF
2018-06-26 20:33:37.862 [info][tid:com.facebook.react.JavaScript] 'navigation', { dispatch: [Function],
route:
{ key: 'StackRouterRoot',
isTransitioning: false,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041617824-1',
isTransitioning: false,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041617824-0',
routeName: 'App' } ],
routeName: 'MainRoot' } ] },
state:
{ key: 'StackRouterRoot',
isTransitioning: false,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041617824-1',
isTransitioning: false,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041617824-0',
routeName: 'App' } ],
routeName: 'MainRoot' } ] },
addListener: [Function],
goBack: [Function: goBack],
navigate: [Function: navigate],
pop: [Function: pop],
popToTop: [Function: popToTop],
setParams: [Function: setParams],
getParam: [Function: getParam],
push: [Function: push],
replace: [Function: replace] }
2018-06-26 20:33:38.741 [info][tid:main][RCTCxxBridge.mm:917] Invalidating <RCTCxxBridge: 0x6000001ccf30> (parent: <RCTBridge: 0x6040000d7530>, executor: (null))
2018-06-26 20:33:38.742 [info][tid:main][RCTCxxBridge.mm:210] Initializing <RCTCxxBridge: 0x6040001cec40> (parent: <RCTBridge: 0x6040000d7530>, executor: (null))
2018-06-26 20:33:38.742 [warn][tid:main][RCTModuleData.mm:67] Module RCTImageLoader requires main queue setup since it overrides `init` but doesn't implement `requiresMainQueueSetup`. In a future release React Native will default to initializing all native modules on a background thread unless explicitly opted-out of.
2018-06-26 20:33:39.042 [info][tid:main][RCTRootView.m:293] Running application Demo ({
initialProps = {
};
rootTag = 21;
})
2018-06-26 20:33:39.043 [info][tid:com.facebook.react.JavaScript] Running application "Demo" with appParams: {"rootTag":21,"initialProps":{}}. __DEV__ === true, development-level warning are ON, performance optimizations are OFF
2018-06-26 20:33:39.057 [info][tid:com.facebook.react.JavaScript] 'navigation', { dispatch: [Function],
route:
{ key: 'StackRouterRoot',
isTransitioning: false,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041619036-1',
isTransitioning: false,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041619036-0',
routeName: 'App' } ],
routeName: 'MainRoot' } ] },
state:
{ key: 'StackRouterRoot',
isTransitioning: false,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041619036-1',
isTransitioning: false,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041619036-0',
routeName: 'App' } ],
routeName: 'MainRoot' } ] },
addListener: [Function],
goBack: [Function: goBack],
navigate: [Function: navigate],
pop: [Function: pop],
popToTop: [Function: popToTop],
setParams: [Function: setParams],
getParam: [Function: getParam],
push: [Function: push],
replace: [Function: replace] }
2018-06-26 20:33:44.914 [info][tid:main][RCTCxxBridge.mm:917] Invalidating <RCTCxxBridge: 0x6040001cec40> (parent: <RCTBridge: 0x6040000d7530>, executor: (null))
2018-06-26 20:33:44.915 [info][tid:main][RCTCxxBridge.mm:210] Initializing <RCTCxxBridge: 0x6000001cce40> (parent: <RCTBridge: 0x6040000d7530>, executor: (null))
2018-06-26 20:33:44.915 [warn][tid:main][RCTModuleData.mm:67] Module RCTImageLoader requires main queue setup since it overrides `init` but doesn't implement `requiresMainQueueSetup`. In a future release React Native will default to initializing all native modules on a background thread unless explicitly opted-out of.
2018-06-26 20:33:45.193 [info][tid:main][RCTRootView.m:293] Running application Demo ({
initialProps = {
};
rootTag = 31;
})
2018-06-26 20:33:45.198 [info][tid:com.facebook.react.JavaScript] Running application "Demo" with appParams: {"rootTag":31,"initialProps":{}}. __DEV__ === true, development-level warning are ON, performance optimizations are OFF
2018-06-26 20:33:45.213 [info][tid:com.facebook.react.JavaScript] 'navigation', { dispatch: [Function],
route:
{ key: 'StackRouterRoot',
isTransitioning: false,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041625183-1',
isTransitioning: false,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041625183-0',
routeName: 'App' } ],
routeName: 'MainRoot' } ] },
state:
{ key: 'StackRouterRoot',
isTransitioning: false,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041625183-1',
isTransitioning: false,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041625183-0',
routeName: 'App' } ],
routeName: 'MainRoot' } ] },
addListener: [Function],
goBack: [Function: goBack],
navigate: [Function: navigate],
pop: [Function: pop],
popToTop: [Function: popToTop],
setParams: [Function: setParams],
getParam: [Function: getParam],
push: [Function: push],
replace: [Function: replace] }
2018-06-26 20:33:51.088 [info][tid:com.facebook.react.JavaScript] action %cNavigation/NAVIGATE %c@ 20:33:51.086
2018-06-26 20:33:51.089 [info][tid:com.facebook.react.JavaScript] '%c prev state', 'color: #9E9E9E; font-weight: bold', { app: { initialized: false },
navigation:
{ key: 'StackRouterRoot',
isTransitioning: false,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041625183-1',
isTransitioning: false,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041625183-0',
routeName: 'App' } ],
routeName: 'MainRoot' } ] } }
2018-06-26 20:33:51.089 [info][tid:com.facebook.react.JavaScript] '%c action ', 'color: #03A9F4; font-weight: bold', { type: 'Navigation/NAVIGATE',
routeName: 'AppFoo',
params: { transition: 'slideFromRight' } }
2018-06-26 20:33:51.090 [info][tid:com.facebook.react.JavaScript] '%c next state', 'color: #4CAF50; font-weight: bold', { app: { initialized: false },
navigation:
{ key: 'StackRouterRoot',
isTransitioning: false,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041625183-1',
isTransitioning: true,
index: 1,
routes:
[ { params: undefined,
key: 'id-1530041625183-0',
routeName: 'App' },
{ params: { transition: 'slideFromRight' },
routeName: 'AppFoo',
key: 'id-1530041625183-2' } ],
routeName: 'MainRoot' } ] } }
2018-06-26 20:33:51.090 [info][tid:com.facebook.react.JavaScript] —— log end ——
2018-06-26 20:33:51.093 [info][tid:com.facebook.react.JavaScript] 'navigation', { dispatch: [Function],
route:
{ key: 'StackRouterRoot',
isTransitioning: false,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041625183-1',
isTransitioning: true,
index: 1,
routes:
[ { params: undefined,
key: 'id-1530041625183-0',
routeName: 'App' },
{ params: { transition: 'slideFromRight' },
routeName: 'AppFoo',
key: 'id-1530041625183-2' } ],
routeName: 'MainRoot' } ] },
state:
{ key: 'StackRouterRoot',
isTransitioning: false,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041625183-1',
isTransitioning: true,
index: 1,
routes:
[ { params: undefined,
key: 'id-1530041625183-0',
routeName: 'App' },
{ params: { transition: 'slideFromRight' },
routeName: 'AppFoo',
key: 'id-1530041625183-2' } ],
routeName: 'MainRoot' } ] },
addListener: [Function],
goBack: [Function: goBack],
navigate: [Function: navigate],
pop: [Function: pop],
popToTop: [Function: popToTop],
setParams: [Function: setParams],
getParam: [Function: getParam],
push: [Function: push],
replace: [Function: replace] }
2018-06-26 20:33:51.120 [info][tid:com.facebook.react.JavaScript] action %cNavigation/COMPLETE_TRANSITION %c@ 20:33:51.119
2018-06-26 20:33:51.121 [info][tid:com.facebook.react.JavaScript] '%c prev state', 'color: #9E9E9E; font-weight: bold', { app: { initialized: false },
navigation:
{ key: 'StackRouterRoot',
isTransitioning: false,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041625183-1',
isTransitioning: true,
index: 1,
routes:
[ { params: undefined,
key: 'id-1530041625183-0',
routeName: 'App' },
{ params: { transition: 'slideFromRight' },
routeName: 'AppFoo',
key: 'id-1530041625183-2' } ],
routeName: 'MainRoot' } ] } }
2018-06-26 20:33:51.121 [info][tid:com.facebook.react.JavaScript] '%c action ', 'color: #03A9F4; font-weight: bold', { type: 'Navigation/COMPLETE_TRANSITION',
key: 'StackRouterRoot' }
2018-06-26 20:33:51.122 [info][tid:com.facebook.react.JavaScript] '%c next state', 'color: #4CAF50; font-weight: bold', { app: { initialized: false },
navigation:
{ key: 'StackRouterRoot',
isTransitioning: false,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041625183-1',
isTransitioning: true,
index: 1,
routes:
[ { params: undefined,
key: 'id-1530041625183-0',
routeName: 'App' },
{ params: { transition: 'slideFromRight' },
routeName: 'AppFoo',
key: 'id-1530041625183-2' } ],
routeName: 'MainRoot' } ] } }
2018-06-26 20:33:51.122 [info][tid:com.facebook.react.JavaScript] —— log end ——
2018-06-26 20:33:51.822 [info][tid:com.facebook.react.JavaScript] action %cNavigation/COMPLETE_TRANSITION %c@ 20:33:51.821
2018-06-26 20:33:51.822 [info][tid:com.facebook.react.JavaScript] '%c prev state', 'color: #9E9E9E; font-weight: bold', { app: { initialized: false },
navigation:
{ key: 'StackRouterRoot',
isTransitioning: false,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041625183-1',
isTransitioning: true,
index: 1,
routes:
[ { params: undefined,
key: 'id-1530041625183-0',
routeName: 'App' },
{ params: { transition: 'slideFromRight' },
routeName: 'AppFoo',
key: 'id-1530041625183-2' } ],
routeName: 'MainRoot' } ] } }
2018-06-26 20:33:51.823 [info][tid:com.facebook.react.JavaScript] '%c action ', 'color: #03A9F4; font-weight: bold', { type: 'Navigation/COMPLETE_TRANSITION',
key: 'id-1530041625183-1' }
2018-06-26 20:33:51.823 [info][tid:com.facebook.react.JavaScript] '%c next state', 'color: #4CAF50; font-weight: bold', { app: { initialized: false },
navigation:
{ key: 'StackRouterRoot',
isTransitioning: false,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041625183-1',
isTransitioning: true,
index: 1,
routes:
[ { params: undefined,
key: 'id-1530041625183-0',
routeName: 'App' },
{ params: { transition: 'slideFromRight' },
routeName: 'AppFoo',
key: 'id-1530041625183-2' } ],
routeName: 'MainRoot' } ] } }
2018-06-26 20:33:51.823 [info][tid:com.facebook.react.JavaScript] —— log end ——
2018-06-26 20:33:52.237 [info][tid:com.facebook.react.JavaScript] action %cNavigation/BACK %c@ 20:33:52.237
2018-06-26 20:33:52.238 [info][tid:com.facebook.react.JavaScript] '%c prev state', 'color: #9E9E9E; font-weight: bold', { app: { initialized: false },
navigation:
{ key: 'StackRouterRoot',
isTransitioning: false,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041625183-1',
isTransitioning: true,
index: 1,
routes:
[ { params: undefined,
key: 'id-1530041625183-0',
routeName: 'App' },
{ params: { transition: 'slideFromRight' },
routeName: 'AppFoo',
key: 'id-1530041625183-2' } ],
routeName: 'MainRoot' } ] } }
2018-06-26 20:33:52.238 [info][tid:com.facebook.react.JavaScript] '%c action ', 'color: #03A9F4; font-weight: bold', { type: 'Navigation/BACK' }
2018-06-26 20:33:52.239 [info][tid:com.facebook.react.JavaScript] '%c next state', 'color: #4CAF50; font-weight: bold', { app: { initialized: false },
navigation:
{ key: 'StackRouterRoot',
isTransitioning: false,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041625183-1',
isTransitioning: true,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041625183-0',
routeName: 'App' } ],
routeName: 'MainRoot' } ] } }
2018-06-26 20:33:52.240 [info][tid:com.facebook.react.JavaScript] —— log end ——
2018-06-26 20:33:52.241 [info][tid:com.facebook.react.JavaScript] 'navigation', { dispatch: [Function],
route:
{ key: 'StackRouterRoot',
isTransitioning: false,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041625183-1',
isTransitioning: true,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041625183-0',
routeName: 'App' } ],
routeName: 'MainRoot' } ] },
state:
{ key: 'StackRouterRoot',
isTransitioning: false,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041625183-1',
isTransitioning: true,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041625183-0',
routeName: 'App' } ],
routeName: 'MainRoot' } ] },
addListener: [Function],
goBack: [Function: goBack],
navigate: [Function: navigate],
pop: [Function: pop],
popToTop: [Function: popToTop],
setParams: [Function: setParams],
getParam: [Function: getParam],
push: [Function: push],
replace: [Function: replace] }
2018-06-26 20:33:52.252 [info][tid:com.facebook.react.JavaScript] action %cNavigation/COMPLETE_TRANSITION %c@ 20:33:52.251
2018-06-26 20:33:52.253 [info][tid:com.facebook.react.JavaScript] '%c prev state', 'color: #9E9E9E; font-weight: bold', { app: { initialized: false },
navigation:
{ key: 'StackRouterRoot',
isTransitioning: false,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041625183-1',
isTransitioning: true,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041625183-0',
routeName: 'App' } ],
routeName: 'MainRoot' } ] } }
2018-06-26 20:33:52.253 [info][tid:com.facebook.react.JavaScript] '%c action ', 'color: #03A9F4; font-weight: bold', { type: 'Navigation/COMPLETE_TRANSITION',
key: 'StackRouterRoot' }
2018-06-26 20:33:52.254 [info][tid:com.facebook.react.JavaScript] '%c next state', 'color: #4CAF50; font-weight: bold', { app: { initialized: false },
navigation:
{ key: 'StackRouterRoot',
isTransitioning: false,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041625183-1',
isTransitioning: true,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041625183-0',
routeName: 'App' } ],
routeName: 'MainRoot' } ] } }
2018-06-26 20:33:52.254 [info][tid:com.facebook.react.JavaScript] —— log end ——
2018-06-26 20:33:52.946 [info][tid:com.facebook.react.JavaScript] action %cNavigation/COMPLETE_TRANSITION %c@ 20:33:52.945
2018-06-26 20:33:52.947 [info][tid:com.facebook.react.JavaScript] '%c prev state', 'color: #9E9E9E; font-weight: bold', { app: { initialized: false },
navigation:
{ key: 'StackRouterRoot',
isTransitioning: false,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041625183-1',
isTransitioning: true,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041625183-0',
routeName: 'App' } ],
routeName: 'MainRoot' } ] } }
2018-06-26 20:33:52.947 [info][tid:com.facebook.react.JavaScript] '%c action ', 'color: #03A9F4; font-weight: bold', { type: 'Navigation/COMPLETE_TRANSITION',
key: 'id-1530041625183-1' }
2018-06-26 20:33:52.947 [info][tid:com.facebook.react.JavaScript] '%c next state', 'color: #4CAF50; font-weight: bold', { app: { initialized: false },
navigation:
{ key: 'StackRouterRoot',
isTransitioning: false,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041625183-1',
isTransitioning: true,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041625183-0',
routeName: 'App' } ],
routeName: 'MainRoot' } ] } }
2018-06-26 20:33:52.948 [info][tid:com.facebook.react.JavaScript] —— log end ——
2018-06-26 20:34:45.471 [info][tid:main][RCTCxxBridge.mm:917] Invalidating <RCTCxxBridge: 0x6000001cce40> (parent: <RCTBridge: 0x6040000d7530>, executor: (null))
2018-06-26 20:34:45.471 [info][tid:main][RCTCxxBridge.mm:210] Initializing <RCTCxxBridge: 0x6000001cc3f0> (parent: <RCTBridge: 0x6040000d7530>, executor: (null))
2018-06-26 20:34:45.472 [warn][tid:main][RCTModuleData.mm:67] Module RCTImageLoader requires main queue setup since it overrides `init` but doesn't implement `requiresMainQueueSetup`. In a future release React Native will default to initializing all native modules on a background thread unless explicitly opted-out of.
2018-06-26 20:34:45.783 [info][tid:main][RCTRootView.m:293] Running application Demo ({
initialProps = {
};
rootTag = 41;
})
2018-06-26 20:34:45.784 [info][tid:com.facebook.react.JavaScript] Running application "Demo" with appParams: {"rootTag":41,"initialProps":{}}. __DEV__ === true, development-level warning are ON, performance optimizations are OFF
2018-06-26 20:34:45.799 [info][tid:com.facebook.react.JavaScript] 'navigation', { dispatch: [Function],
route:
{ key: 'StackRouterRoot',
isTransitioning: false,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041685778-1',
isTransitioning: false,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041685778-0',
routeName: 'App' } ],
routeName: 'MainRoot' } ] },
state:
{ key: 'StackRouterRoot',
isTransitioning: false,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041685778-1',
isTransitioning: false,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041685778-0',
routeName: 'App' } ],
routeName: 'MainRoot' } ] },
addListener: [Function],
goBack: [Function: goBack],
navigate: [Function: navigate],
pop: [Function: pop],
popToTop: [Function: popToTop],
setParams: [Function: setParams],
getParam: [Function: getParam],
push: [Function: push],
replace: [Function: replace] }
2018-06-26 20:34:51.637 [info][tid:com.facebook.react.JavaScript] action %cNavigation/NAVIGATE %c@ 20:34:51.635
2018-06-26 20:34:51.638 [info][tid:com.facebook.react.JavaScript] '%c prev state', 'color: #9E9E9E; font-weight: bold', { app: { initialized: false },
navigation:
{ key: 'StackRouterRoot',
isTransitioning: false,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041685778-1',
isTransitioning: false,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041685778-0',
routeName: 'App' } ],
routeName: 'MainRoot' } ] } }
2018-06-26 20:34:51.639 [info][tid:com.facebook.react.JavaScript] '%c action ', 'color: #03A9F4; font-weight: bold', { type: 'Navigation/NAVIGATE',
routeName: 'AppFoo',
params: { transition: 'slideFromRight' } }
2018-06-26 20:34:51.639 [info][tid:com.facebook.react.JavaScript] '%c next state', 'color: #4CAF50; font-weight: bold', { app: { initialized: false },
navigation:
{ key: 'StackRouterRoot',
isTransitioning: false,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041685778-1',
isTransitioning: true,
index: 1,
routes:
[ { params: undefined,
key: 'id-1530041685778-0',
routeName: 'App' },
{ params: { transition: 'slideFromRight' },
routeName: 'AppFoo',
key: 'id-1530041685778-2' } ],
routeName: 'MainRoot' } ] } }
2018-06-26 20:34:51.640 [info][tid:com.facebook.react.JavaScript] —— log end ——
2018-06-26 20:34:51.642 [info][tid:com.facebook.react.JavaScript] 'navigation', { dispatch: [Function],
route:
{ key: 'StackRouterRoot',
isTransitioning: false,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041685778-1',
isTransitioning: true,
index: 1,
routes:
[ { params: undefined,
key: 'id-1530041685778-0',
routeName: 'App' },
{ params: { transition: 'slideFromRight' },
routeName: 'AppFoo',
key: 'id-1530041685778-2' } ],
routeName: 'MainRoot' } ] },
state:
{ key: 'StackRouterRoot',
isTransitioning: false,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041685778-1',
isTransitioning: true,
index: 1,
routes:
[ { params: undefined,
key: 'id-1530041685778-0',
routeName: 'App' },
{ params: { transition: 'slideFromRight' },
routeName: 'AppFoo',
key: 'id-1530041685778-2' } ],
routeName: 'MainRoot' } ] },
addListener: [Function],
goBack: [Function: goBack],
navigate: [Function: navigate],
pop: [Function: pop],
popToTop: [Function: popToTop],
setParams: [Function: setParams],
getParam: [Function: getParam],
push: [Function: push],
replace: [Function: replace] }
2018-06-26 20:34:51.668 [info][tid:com.facebook.react.JavaScript] action %cNavigation/COMPLETE_TRANSITION %c@ 20:34:51.667
2018-06-26 20:34:51.669 [info][tid:com.facebook.react.JavaScript] '%c prev state', 'color: #9E9E9E; font-weight: bold', { app: { initialized: false },
navigation:
{ key: 'StackRouterRoot',
isTransitioning: false,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041685778-1',
isTransitioning: true,
index: 1,
routes:
[ { params: undefined,
key: 'id-1530041685778-0',
routeName: 'App' },
{ params: { transition: 'slideFromRight' },
routeName: 'AppFoo',
key: 'id-1530041685778-2' } ],
routeName: 'MainRoot' } ] } }
2018-06-26 20:34:51.670 [info][tid:com.facebook.react.JavaScript] '%c action ', 'color: #03A9F4; font-weight: bold', { type: 'Navigation/COMPLETE_TRANSITION',
key: 'StackRouterRoot' }
2018-06-26 20:34:51.670 [info][tid:com.facebook.react.JavaScript] '%c next state', 'color: #4CAF50; font-weight: bold', { app: { initialized: false },
navigation:
{ key: 'StackRouterRoot',
isTransitioning: false,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041685778-1',
isTransitioning: true,
index: 1,
routes:
[ { params: undefined,
key: 'id-1530041685778-0',
routeName: 'App' },
{ params: { transition: 'slideFromRight' },
routeName: 'AppFoo',
key: 'id-1530041685778-2' } ],
routeName: 'MainRoot' } ] } }
2018-06-26 20:34:51.670 [info][tid:com.facebook.react.JavaScript] —— log end ——
2018-06-26 20:34:52.368 [info][tid:com.facebook.react.JavaScript] action %cNavigation/COMPLETE_TRANSITION %c@ 20:34:52.368
2018-06-26 20:34:52.369 [info][tid:com.facebook.react.JavaScript] '%c prev state', 'color: #9E9E9E; font-weight: bold', { app: { initialized: false },
navigation:
{ key: 'StackRouterRoot',
isTransitioning: false,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041685778-1',
isTransitioning: true,
index: 1,
routes:
[ { params: undefined,
key: 'id-1530041685778-0',
routeName: 'App' },
{ params: { transition: 'slideFromRight' },
routeName: 'AppFoo',
key: 'id-1530041685778-2' } ],
routeName: 'MainRoot' } ] } }
2018-06-26 20:34:52.369 [info][tid:com.facebook.react.JavaScript] '%c action ', 'color: #03A9F4; font-weight: bold', { type: 'Navigation/COMPLETE_TRANSITION',
key: 'id-1530041685778-1' }
2018-06-26 20:34:52.370 [info][tid:com.facebook.react.JavaScript] '%c next state', 'color: #4CAF50; font-weight: bold', { app: { initialized: false },
navigation:
{ key: 'StackRouterRoot',
isTransitioning: false,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041685778-1',
isTransitioning: true,
index: 1,
routes:
[ { params: undefined,
key: 'id-1530041685778-0',
routeName: 'App' },
{ params: { transition: 'slideFromRight' },
routeName: 'AppFoo',
key: 'id-1530041685778-2' } ],
routeName: 'MainRoot' } ] } }
2018-06-26 20:34:52.370 [info][tid:com.facebook.react.JavaScript] —— log end ——
2018-06-26 20:34:52.703 [info][tid:com.facebook.react.JavaScript] action %cNavigation/RESET %c@ 20:34:52.703
2018-06-26 20:34:52.704 [info][tid:com.facebook.react.JavaScript] '%c prev state', 'color: #9E9E9E; font-weight: bold', { app: { initialized: false },
navigation:
{ key: 'StackRouterRoot',
isTransitioning: false,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041685778-1',
isTransitioning: true,
index: 1,
routes:
[ { params: undefined,
key: 'id-1530041685778-0',
routeName: 'App' },
{ params: { transition: 'slideFromRight' },
routeName: 'AppFoo',
key: 'id-1530041685778-2' } ],
routeName: 'MainRoot' } ] } }
2018-06-26 20:34:52.704 [info][tid:com.facebook.react.JavaScript] '%c action ', 'color: #03A9F4; font-weight: bold', { type: 'Navigation/RESET',
key: null,
index: 0,
actions:
[ { type: 'Navigation/NAVIGATE',
routeName: 'DemoRoot',
params: undefined } ] }
2018-06-26 20:34:52.705 [info][tid:com.facebook.react.JavaScript] '%c next state', 'color: #4CAF50; font-weight: bold', { app: { initialized: false },
navigation:
{ key: 'StackRouterRoot',
isTransitioning: false,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041685778-4',
isTransitioning: false,
index: 0,
routes: [ { routeName: 'Demo', key: 'id-1530041685778-3' } ],
routeName: 'DemoRoot' } ] } }
2018-06-26 20:34:52.705 [info][tid:com.facebook.react.JavaScript] —— log end ——
2018-06-26 20:34:52.706 [info][tid:com.facebook.react.JavaScript] 'navigation', { dispatch: [Function],
route:
{ key: 'StackRouterRoot',
isTransitioning: false,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041685778-4',
isTransitioning: false,
index: 0,
routes: [ { routeName: 'Demo', key: 'id-1530041685778-3' } ],
routeName: 'DemoRoot' } ] },
state:
{ key: 'StackRouterRoot',
isTransitioning: false,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041685778-4',
isTransitioning: false,
index: 0,
routes: [ { routeName: 'Demo', key: 'id-1530041685778-3' } ],
routeName: 'DemoRoot' } ] },
addListener: [Function],
goBack: [Function: goBack],
navigate: [Function: navigate],
pop: [Function: pop],
popToTop: [Function: popToTop],
setParams: [Function: setParams],
getParam: [Function: getParam],
push: [Function: push],
replace: [Function: replace] }
2018-06-26 20:34:52.721 [info][tid:com.facebook.react.JavaScript] action %cNavigation/COMPLETE_TRANSITION %c@ 20:34:52.721
2018-06-26 20:34:52.722 [info][tid:com.facebook.react.JavaScript] '%c prev state', 'color: #9E9E9E; font-weight: bold', { app: { initialized: false },
navigation:
{ key: 'StackRouterRoot',
isTransitioning: false,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041685778-4',
isTransitioning: false,
index: 0,
routes: [ { routeName: 'Demo', key: 'id-1530041685778-3' } ],
routeName: 'DemoRoot' } ] } }
2018-06-26 20:34:52.722 [info][tid:com.facebook.react.JavaScript] '%c action ', 'color: #03A9F4; font-weight: bold', { type: 'Navigation/COMPLETE_TRANSITION',
key: 'StackRouterRoot' }
2018-06-26 20:34:52.722 [info][tid:com.facebook.react.JavaScript] '%c next state', 'color: #4CAF50; font-weight: bold', { app: { initialized: false },
navigation:
{ key: 'StackRouterRoot',
isTransitioning: false,
index: 0,
routes:
[ { params: undefined,
key: 'id-1530041685778-4',
isTransitioning: false,
index: 0,
routes: [ { routeName: 'Demo', key: 'id-1530041685778-3' } ],
routeName: 'DemoRoot' } ] } }
2018-06-26 20:34:52.723 [info][tid:com.facebook.react.JavaScript] —— log end ——