5

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?

Répondre