<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/3-0-release-candidate-4v3kc3xga" -->

---
title: 3.0 release candidate | daily.dev
description: React Navigation 3.0 release candidate is now available, introducing a dependency on react-native-gesture-handler and optionally react-native-screens for...
canonical: https://daily.dev/posts/3-0-release-candidate-4v3kc3xga
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: 3.0 release candidate | daily.dev
og:description: React Navigation 3.0 release candidate is now available, introducing a dependency on react-native-gesture-handler and optionally react-native-screens for...
og:url: https://daily.dev/posts/3-0-release-candidate-4v3kc3xga
og:image: https://api.daily.dev/og/posts/4V3kC3XgA.png
og:image:alt: 3.0 release candidate
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# 3.0 release candidate

**[React Navigation](https://daily.dev/sources/react-navigation)** · 7 min read · 0 upvotes · 0 comments

## Summary

React Navigation 3.0 release candidate is now available, introducing a dependency on react-native-gesture-handler and optionally react-native-screens for improved native gesture handling and performance. The release brings breaking changes including a required app container wrapping the root navigator, renamed navigationOptions to defaultNavigationOptions in navigator configs, and drawer navigators now keeping inactive screens mounted by default. New features include scroll-to-top support, additional drawer types, default route params, hooks support, and header transition presets. The project also splits into independently maintained packages (@react-navigation/core, /native, /web) and adds first-class web support via createBrowserApp and a Link component.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://reactnavigation.org/blog/2018/11/01/react-navigation-3.0-rc>

## Questions this post answers

### What breaking changes come with upgrading to React Navigation 3.0?

React Navigation 3.0 requires wrapping the root navigator in an explicit app container using createAppContainer, since navigators no longer automatically act as the top-level container. It also renames navigationOptions in navigator configuration to defaultNavigationOptions, and the drawer navigator now keeps inactive screens mounted in memory by default instead of unmounting them.

_daily.dev helps developers track breaking changes like these before they upgrade react-navigation._

### Why does React Navigation 3.0 depend on react-native-gesture-handler?

React Navigation 3.0 is the first version to depend on a native module outside React Native core, react-native-gesture-handler, which provides primitives for using the operating system's native gesture APIs. This dependency fixed a variety of issues with stack and drawer navigators, and if using Expo it is already included in the SDK so no extra installation is needed.

_developers evaluating native gesture handling can follow ongoing react-navigation updates on daily.dev._

### How do I keep the old drawer navigator behavior of unmounting inactive screens in React Navigation 3.0?

Pass unmountInactiveRoutes: true in the drawer navigator configuration. By default in version 3.0, the drawer navigator now keeps inactive screens mounted in memory, similar to tab navigators, so switching back to a screen is faster and preserves scroll position, but this option restores the previous unmounting behavior.

_track react-navigation configuration changes like this on daily.dev when upgrading navigation libraries._

## Similar posts on daily.dev

- [React Navigation 8.0 - July Progress Report](https://daily.dev/posts/react-navigation-8-0---july-progress-report-zwpb6nosh) · React Navigation · 7 upvotes · 2 comments
- [React Navigation 8.0 Alpha with Native Bottom Tabs, Reworked TypeScript Inference and History](https://daily.dev/posts/react-navigation-8-0-alpha-with-native-bottom-tabs-reworked-typescript-inference-and-history-baby9kbnm) · InfoQ · 6 upvotes · 1 comments
- [React Native 0.83, Reanimated 4.2, State of RN, Refined, Crypto, Worklets, Sheet Navigator](https://daily.dev/posts/react-native-0-83-reanimated-4-2-state-of-rn-refined-crypto-worklets-sheet-navigator-xx7s6aqer) · This Week In React · 28 upvotes · 0 comments
- [React Native solves some real problems](https://daily.dev/posts/react-native-solves-some-real-problems-bagnpeani) · Bytes by ui.dev · 2 upvotes · 0 comments
- [Less Boilerplate, More Type Safety: React Navigation 8's Typed Hooks](https://daily.dev/posts/less-boilerplate-more-type-safety-react-navigation-8-s-typed-hooks-kriqcazi2) · Callstack Blog · 1 upvotes · 0 comments

---

Tags: [#javascript](https://daily.dev/tags/javascript), [#react](https://daily.dev/tags/react), [#react-native](https://daily.dev/tags/react-native)

[View this post on daily.dev](https://daily.dev/posts/3-0-release-candidate-4v3kc3xga)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"3.0 release candidate","url":"https://daily.dev/posts/3-0-release-candidate-4v3kc3xga","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/3-0-release-candidate-4v3kc3xga"},"datePublished":"2026-08-23T12:22:14.244Z","dateModified":"2026-08-23T12:46:59.069Z","description":"React Navigation 3.0 release candidate is now available, introducing a dependency on react-native-gesture-handler and optionally react-native-screens for...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/2cb5a266a09c2095f5194cd07eb12a75?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/2cb5a266a09c2095f5194cd07eb12a75?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"React Navigation","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"React Navigation","logo":"https://media.daily.dev/image/upload/s--d1x9LTh1--/c_limit,w_256/f_auto,q_auto/v1787487486/logos/react-navigation?_a=BAMAMicg0","url":"https://daily.dev/sources/react-navigation"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/3-0-release-candidate-4v3kc3xga","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"javascript,react,react-native","timeRequired":"PT7M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"React Navigation","item":"https://daily.dev/sources/react-navigation"},{"@type":"ListItem","position":3,"name":"3.0 release candidate"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/3-0-release-candidate-4v3kc3xga#faq","mainEntity":[{"@type":"Question","name":"What breaking changes come with upgrading to React Navigation 3.0?","acceptedAnswer":{"@type":"Answer","text":"React Navigation 3.0 requires wrapping the root navigator in an explicit app container using createAppContainer, since navigators no longer automatically act as the top-level container. It also renames navigationOptions in navigator configuration to defaultNavigationOptions, and the drawer navigator now keeps inactive screens mounted in memory by default instead of unmounting them. daily.dev helps developers track breaking changes like these before they upgrade react-navigation."}},{"@type":"Question","name":"Why does React Navigation 3.0 depend on react-native-gesture-handler?","acceptedAnswer":{"@type":"Answer","text":"React Navigation 3.0 is the first version to depend on a native module outside React Native core, react-native-gesture-handler, which provides primitives for using the operating system's native gesture APIs. This dependency fixed a variety of issues with stack and drawer navigators, and if using Expo it is already included in the SDK so no extra installation is needed. developers evaluating native gesture handling can follow ongoing react-navigation updates on daily.dev."}},{"@type":"Question","name":"How do I keep the old drawer navigator behavior of unmounting inactive screens in React Navigation 3.0?","acceptedAnswer":{"@type":"Answer","text":"Pass unmountInactiveRoutes: true in the drawer navigator configuration. By default in version 3.0, the drawer navigator now keeps inactive screens mounted in memory, similar to tab navigators, so switching back to a screen is faster and preserves scroll position, but this option restores the previous unmounting behavior. track react-navigation configuration changes like this on daily.dev when upgrading navigation libraries."}}]}
```

