2016-11-04 3 views
0

Ich versuche, eine einfache App für ein Blog zu erstellen. Der Blog hat mehrere Kategorien, wobei jede Kategorie ihre eigenen Geschichten hat.react-native-router-flux und ersetzen Root-Controller

Meine Architektur sollte ziemlich einfach sein: ein root-Controller, der eine Liste von Geschichten anzeigen sollte, und oben werde ich jede Geschichte pushen. Die App hat eine Schublade, in der ein Benutzer eine Kategorie wechseln kann (wo es anfängt, unordentlich zu sein - da ich zu diesem Zeitpunkt die neue Liste nicht verschieben, sondern die Wurzel durch die neue Kategorie ersetzen möchte).

export default class App extends Component { 
    render() {return (
     <Drawer> 
      <Router sceneStyle={{paddingTop: Navigator.NavigationBar.Styles.General.TotalNavHeight}}> 
       <Scene key='root'> 
        <Scene 
         key='category' 
         component={Category} 
         type={ActionConst.REPLACE} 
         title='Main' 
         passProps={true} 
         category='main' 
        /> 
        <Scene key='story' component={Story} /> 
       </Scene> 
      </Router> 
     </Drawer> 
    )} 
} 

Wenn ein Benutzer eine Kategorie zu wechseln versucht, ich rufe:

Actions.category({title: data.title, category: data.category}); 

Und wenn der Benutzer auf eine Geschichte in der Liste klickt, ich mache:

Actions.story({title: data.title, category: this.props.category, story: data.story}); 

Wenn ich eine Kategorie wechsle, möchte ich alle vorhandenen Controller löschen und die root ersetzen, aber es funktioniert jetzt nicht für mich.

Irgendwelche Ideen?

Antwort

0

Haben Sie

versucht

Actions.category({ type: 'reset' , ...otherProps}) ??

+0

Tut nichts :(, noch sehe ich nichts in den Protokollen ... –

+0

sollte es .. https://github.com/aksonov/react-native-router-flux/blob/master/docs /API_CONFIGURATION.md#scene funktioniert es, wenn Sie die otherProps nicht übergeben? – Tom

+0

Ich rufe 'Actions.category ({type:' reset '}) '' in meinem Code und es funktioniert für mich – Tom