Use the new Docker-based, beta version of CircleCI.
This adds a docker image that has the correct deps to run flow, and then migrates from the old circle.yml format to the new.
This gets test runs wayyyyy down. Earlier today, on the old stack, before optimizations, we were at > 9 min for PR builds (aka, CI runs without a website deploy). The build for this PR ran in 1 min 33 seconds. Woo!
* Navigation actions should be string literals to work properly with Flow
* Update StackRouter/TabRouter tests with eslint ignore rule
* Use `expect.objectContaining` so we don't rely on keys
* Update Stacks{In,Over}Tabs example for better clarity
* Remove redundant navigationOptions in stack examples
* Update text in ReduxExample to clarify which route is being used
This Init{index} pattern guarantees that the same keys will always be re-used when doing a RESET.
This behaviour doesn’t match how the rest of the router works and causes bugs.
Namely if you are on `{ routeName: ‘Dashboard’, params: { user: ‘A’ } }` and use RESET to `{ routeName: ‘Dashboard’, params: { user: ‘B’ } }` when the user switches, it will act like a `setParams` action instead of a `RESET` action and the Dashboard will not be re-mounted.
to allow composition of the Header component when using a custom header
component, styling is probably one of the options you want to have.
For example, I need to dynamicly change the height of the header based
on scroll position, and without this change I have to inherit from the
Header component and copy the render function, instead of composing the
Header component in my own component.
If you attempt to use something other than a string, it will throw an error in some situations. #1318 provides more details about the error. If it is expecting a certain type, the docs should clarify that.