@taqlyn/nav-react-navigation
v0.2.0
Published
Optional React Navigation helpers for Taqlyn deferred / warm links (no Match logic)
Maintainers
Readme
@taqlyn/nav-react-navigation
Optional React Navigation helpers for Taqlyn deferred / warm links.
mapDeferredLinkToNavAction(link)— first path segment → screen name + paramsnavigateDeferredLink(link, navigation)— navigate once perlinkIdcreateTaqlynLinking({ prefixes, screens, scheme })—NavigationContainerlinking fragmentcreateTaqlynExpandingLinking({ linking, resolveIncomingUrl, fallbackPath })— expand short URLs before getInitialURLcreateTaqlynDeferredLinking({ linking, getDeferredHref, resolveIncomingUrl? })— wait for deferred resolve once, then warm URLTaqlynPendingRoute— hold until auth/onboardingsubscribeWarmLinks(linking, onUrl)— injected RN / Expo Linking (no vendor import here)
Non-goals: Match / resolve / Install Referrer / pasteboard. Pair with @taqlyn/sdk-react-native (resolveIncomingUrl, TaqlynProvider).
When React Navigation linking already handles Universal / App Links, configure SdkCore with linkProcessingMode: 'deferred-only' so clipboard (iOS) / Install Referrer (Android) stay on the SDK listener.
import { NavigationContainer } from '@react-navigation/native'
import {
createTaqlynExpandingLinking,
createTaqlynLinking,
navigateDeferredLink,
} from '@taqlyn/nav-react-navigation'
import {
observePlatformLinks,
resolveIncomingUrl,
setReadyForNavigation,
} from '@taqlyn/sdk-react-native'
const base = createTaqlynLinking({
prefixes: ['https://go.example.com'],
scheme: 'cenomimalls',
screens: { Home: 'home', Malls: 'malls' },
})
const linking = createTaqlynExpandingLinking({
linking: base,
resolveIncomingUrl,
fallbackPath: '/',
})
observePlatformLinks((link) => {
navigateDeferredLink(link, navigation)
})
setReadyForNavigation(true)Guides: short-link-expand · detour-parity-gaps
