ClaudeExpo2026/05/28 14:00

Expo Router v56: Decoupling from React Navigation

要点だけを先に読めるように短く再構成したセクションです。

元記事

Quick Digest

要約

要点だけを先に読めるように短く再構成したセクションです。

claudeja

Expo Router v56: Decoupling from React Navigation の要約

Key Points

  • ポイント1: Expo Router v56 is the biggest shift to the library since it launched.
  • ポイント2: We've forked the parts of React Navigation that Expo Router builds on, shipped streaming server-side rendering, and brought Android closer to feature parity with iOS through a new
  • ポイント3: The fork is the headline change, and it's worth explaining first because it touches every Expo Router app.

Summary

この記事は 2026-05-28 に公開された「Expo Router v56: Decoupling from React Navigation」の内容を日本語で簡潔にまとめたものです。

Key Points

  • ポイント1: Expo Router v56 is the biggest shift to the library since it launched.
  • ポイント2: We've forked the parts of React Navigation that Expo Router builds on, shipped streaming server-side rendering, and brought Android closer to feature parity with iOS through a new
  • ポイント3: The fork is the headline change, and it's worth explaining first because it touches every Expo Router app.

Full Translation

翻訳

原文の流れを保ったまま読める翻訳セクションです。

claudeja

Expo Router v56: Decoupling from React Navigation(原文タイトル)

概要

公開日: 2026-05-28 翻訳生成に失敗したため、原文をそのまま保存しています。

原文

Expo Router v56 is the biggest shift to the library since it launched. We've forked the parts of React Navigation that Expo Router builds on, shipped streaming server-side rendering, and brought Android closer to feature parity with iOS through a new toolbar API and expanded Native Tabs. The fork is the headline change, and it's worth explaining first because it touches every Expo Router app. After that we'll walk through the new SSR APIs, the Android toolbar, and what's new in Native Tabs. Why did we decide to fork React Navigation? Expo has a long history with React Navigation. Brent Vatne, the longest tenured Expo employee and our VP of Engineering, led the project through the 1.0 and 2.0 releases, working alongside @ericvicenti and @satya164. Expo helped grow React Navigation from an early idea, shaped by React Native’s old NavigationExperimental API and Expo’s own ex-navigation, into the standard navigation library for the React Native ecosystem. Today, it remains one of the ecosystem’s core navigation solutions, alongside Expo Router. React Navigation is now in Satya’s very capable hands, while our work in the navigation space has increasingly centered on Expo Router. As Expo Router has grown, we’ve found ourselves needing deeper control over the React Navigation internals that Expo Router builds on top of. We spoke with Satya and agreed that the best path forward for both projects was for Expo Router to fork the parts of React Navigation that it depends on most directly. This was not a decision about moving away from React Navigation as a project. It was about giving each project the freedom to evolve in the direction that best serves its users. For Expo Router, the fork gives us room to make changes that are specific to file-based routing, web, server rendering, and other Expo Router use cases. Some of the improvements we want to make would not necessarily apply to React Navigation users directly, and carrying those changes upstream would add complexity for everyone. It also lets us create a more focused version of the React Navigation internals for direct use inside Expo Router. By owning that layer, we can simplify the integration, reduce the amount of workaround code, and make Expo Router easier to maintain over time. Another practical reason is dependency versioning. In past releases, projects could end up with multiple versions of React Navigation installed, which led to issues. Forking the internal pieces we rely on gives us more control over compatibility and makes Expo Router releases more predictable. Finally, Expo Router is improving its web-based capabilities such as data loaders and server-side rendering. These features are not part of React Navigation, and supporting them well requires changes that are much easier to make in a codebase tailored specifically to Expo Router. What does it mean for you? Because Expo Router no longer depends on React Navigation, you will no longer be able to use code imported directly from @react-navigation/*. We know that this is a breaking change for you, so we prepared several tools to make the migration easier. To migrate all React Navigation imports to expo-router/react-navigation in your codebase, you can use our codemod: Our migration guide contains all the necessary steps if you decide to do the migration manually. Lastly, in order to make the migration gradual and smooth, all imports of @react-navigation/core from libraries will be automatically replaced with expo-router/react-navigation ones for at least one release cycle. If you have any problems or spot any issues, please let us know! What’s next for Expo Router? Together with the React Navigation team, we’re currently working on a shared API for library authors, to support both libraries at the same time. If you maintain a library that should support both Expo Router and React Navigation, we’d love to hear from you and collaborate on adapting it to the new APIs. Suspense customization in Expo Router We’ve enabled s