finds.dev

aksonov/react-native-router-flux

The first declarative React Native router

View on GitHub

★ 8,911JavaScriptMITupdated Jun 2023

// 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 →

// at a glance

Stars
8,911
Forks
2,062
Language
JavaScript
License
MIT
Last commit
28 Jun 2023

// nearby

If react-native-router-flux isn't quite it.

All repos →