Skip to content


Repository files navigation

Want to help improve the documentation? That would be so very much appreciated. Some information on that below.

Philosophy of documentation

  • Document the ugly parts as much as the good parts. It's better for users to know that we don't have a good solution to the problem they have and get the preferred workarounds from us than have to scour the dark and moist corners of StackOverflow.
  • Provide runnable examples where possible. Learning through interacting with the code is a reason why REPLs are so popular. Thanks to Snack we can provide the same kind of experience for React Navigation users too.
  • Be honest about the tradeoffs and limitations. We explain the pitch and anti-pitch of React Navigation and provide alternative libraries if React Navigation might not be a good fit. We should provide a similar level of honesty at finer levels of granularity as well.

Things anyone can do

Run it locally

  1. Clone the repository
  2. Run yarn
  3. yarn start

Make changes

  • Each documentation version of react-navigation is generated by the markdown files located in versioned_docs. Change them and refresh the page when running the documentation locally and you will see the changes reflected.
  • If you want to add a new page, you need to add it to the corresponding sidebars.json file and then restart the server.

Things you need to be a collaborator to do

Deployment is done automatically via Github Actions. Normally you shouldn't need to do these.

Download the latest translations

  • Configure CROWDIN_DOCUSAURUS_PROJECT_ID and CROWDIN_DOCUSAURUS_API_KEY environment variables (ask @brentvatne if you need access).
  • Run yarn crowdin-upload and then yarn crowdin-download

Update the sponsors list

  • Create a Github "Personal Access Token" here and set the read:org scope on it.
  • Set the environment variable REACT_NAV_GITHUB_TOKEN to that value.
  • Run yarn fetch-sponsors.
  • Commit the updated sponsors.js file.

Deploy it

Before deploying, be sure to download the latest translations!

Only collaborators on this repository can deploy. Run the following command from the main branch:

GIT_USER=<Your GitHub username> \
USE_SSH=true \
yarn deploy


MIT License