Files
react-navigation/packages/stack/README.md
Satyajit Sahoo 8b11e4df0c chore: reuse the stack code from react navigation 5
The code for the stack is almost the same as v5, with the only differences being the types and the navigation object. To avoid making same changes in 2 places which error-prone, I decided to reuse the same code. Due to the differences, it's not possible to just use it as a dependency, so I followed this approach:
- Copy the source files on post install and apply patches to make it work with React Navigation 4
- When we need to make changes, we can make them in v5 repo and update the version here, most of the time it wouldn't need any extra work
- If we need to make v4 specific changes, we can change the code in vendor/ and then re-generate the patch with `yarn patch`
2019-12-10 15:22:12 +01:00

2.0 KiB

React Navigation Stack

Build Status Version MIT License

Stack navigator for use on iOS and Android.

Installation

Open a Terminal in your project's folder and run,

yarn add react-navigation-stack

or

npm install react-navigation-stack

Usage

import { createStackNavigator } from 'react-navigation-stack';

export default createStackNavigator({
  Inbox: InboxScreen
  Drafts: DraftsScreen,
}, {
  initialRouteName: 'Inbox',
});

Development workflow

To setup the development environment, open a Terminal in the repo directory and run the following:

yarn bootstrap

While developing, you can run the example app with Expo to test your changes:

yarn example start

The code in this repo uses the source from @react-navigation/stack and patches it to make it usable in React Navigation 4. If you need to make changes, please send a pull request there.

If the change is specifically related to React Navigation 4 integration, change the files in src/vendor and then run yarn patch to update the patch file with the latest changes.

Make sure your code passes TypeScript and ESLint. Run the following to verify:

yarn typescript
yarn lint

To fix formatting errors, run the following:

yarn lint --fix

Docs

Documentation can be found on the React Navigation website.