ブログ用のシンプルなアプリを作成しようとしています。ブログには複数のカテゴリがあり、各カテゴリには独自のストーリーがあります。
私のアーキテクチャは非常にシンプルなはずです: ストーリーのリストを表示する必要があるルート コントローラーと、その上に各ストーリーをプッシュします。アプリには、ユーザーがカテゴリを切り替えることができるドロワーがあります (ここが面倒です。その時点で、新しいリストをプッシュするのではなく、ルートを新しいカテゴリに置き換えたいからです)。
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>
)}
}
ユーザーがカテゴリを切り替えようとしているとき、私は呼び出しています:
Actions.category({title: data.title, category: data.category});
ユーザーがリスト内のストーリーをクリックすると、次のようになります。
Actions.story({title: data.title, category: this.props.category, story: data.story});
カテゴリを切り替えるときに、既存のすべてのコントローラーをポップしてルート コントローラーを置き換えたいのですが、今のところうまくいきません。
何か案は?