// the take
A declarative routing layer on top of react-navigation that lets you define an app's entire navigation tree as JSX and dispatch transitions imperatively via a global `Actions` object. It's aimed at React Native developers who want navigation logic callable from stores, reducers, or anywhere outside a component, rather than only from screen props.
The onEnter/onExit/on handler system with success/failure branching is a genuinely useful pattern for auth gates and conditional redirects that react-navigation doesn't give you out of the box. Decoupling navigation calls from component props means business logic can trigger screen transitions directly, which simplifies Redux/MobX-driven apps. Scene attribute inheritance avoids repeating nav bar config across every child screen.
Last push was mid-2023 and the v5 branch (targeting react-navigation v5) is still flagged 'very early alpha, help wanted' in the README, meaning the project stalled mid-migration and never caught up to current react-navigation major versions. It depends on @react-native-community/masked-view, a package that's been deprecated and renamed for years, so a fresh install today pulls a dead dependency. The README itself documents two non-obvious gotchas (static onEnter/onExit getting dropped by HOCs, onBack silently no-oping without `back={true}`) that are really API design problems, not FAQ material. No TypeScript source — index.d.ts is a bolted-on type file, so types and implementation can drift.
We read the README, the directory tree and a key source file in October 2026. Nobody pays to be listed. How we judge →