dans React Navigation, lien profond peut être utilisé en faisant passer uriPrefix
prop au navigateur de haut niveau, ou en faisant passer {containerOptions: {URIPrefix: PREFIX}}
en tant que deuxième paramètre à un haut-navigateur (par exemple StackNavigator
).React Navigation: L'utilisation de liens profonds avec Redux
Lorsque Redux est intégré à React Navigation, le navigateur de niveau supérieur reçoit un prop navigation
. Mais, lors de l'activation de Redux et des liens profonds sur une application RN. uriPrefix
et navigation
prop les deux doivent être transmis à un navigateur de haut niveau, qui renvoie une erreur,
Ce navigateur a des accessoires de navigation et de conteneurs, il est donc ne sait pas si elle doit posséder son propre état.
const S1 =() => <View><Text>S1 text</Text></View>;
const S2 =() => <View><Text>S2 text</Text></View>;
const S3 =() => <View><Text>S3 text</Text></View>;
const AppNav = StackNavigator(
{
S1: {screen: S1, path: 's1'},
S2: {screen: S2, path: 's2'},
S3: {screen: S3, path: 's3'}
}
);
@connect(state => ({nav: state.nav}))
class App extends Component {
render() {
const
{ dispatch, nav } = this.props,
uriPrefix = Platform.OS == 'android' ? 'http://localhost/' : 'http://';
return (
<AppNav
navigation={addNavigationHelpers({dispatch: this.props.dispatch, state: this.props.nav})}
uriPrefix={uriPrefix}
/>
);
}
}
const navReducer = (state, action) => (AppNav.router.getStateForAction(action, state) || state);
const rootReducer = combineReducers({nav: navReducer});
const RootApp = props =>
<Provider store={createStore(rootReducer)}>
<App />
</Provider>;
export default RootApp;
Comment liaison Redux et profonde (à l'aide de navigation React) à la fois être intégré dans une application RN?