私はこのシナリオを両方のライブラリで使用しています。高レベルでは、私が引き出しを閉じる責任を負う関数を渡すネイティブドロワーの内容をレンダリングするカスタムコンポーネントを作成します。それで私が引き出しアイテムの1つを押すと、反応するネイティブルータフラックスナビゲーションアクション(私の場合はPUSH)と、引き出しを閉じるために渡された関数を呼び出します。
ここに私の引き出しを定義するものがあります。 DrawerNavigationContenは、究極的にはListViewや、あなたが引き出しコンテンツのレンダリングを好む実装であることを覚えておいてください。ここで
class RootComponent extends Component {
...
closeDrawer() {
this.drawerRef.closeDrawer();
}
render() {
const drawerNavigationContent = (
<DrawerNavigationContent
closeDrawer={this.closeDrawer.bind(this)}
/>
);
return <Drawer
ref={(ref) => { this.drawer = ref; }}
content={drawerNavigationContent}
...
>
...here I define my react-native-router-flux scenes...
</Drawer>
);
}
...
}
はDrawerNavigationContent
import { Actions } from 'react-native-router-flux';
class DrawerNavigationContent extends Component {
...
navigate(location) {
Actions[location]();
this.props.closeDrawer();
}
...
render() {
...
<TouchableOpacity onPress={this.navigate(...some dynamic scene key...)}>
...
</TouchableOpacity>
...
}
}
で重要な項目、あなたの問題への解決策を見つけるかありますか?あなたのアプリは画面遷移間に大きな遅れがありますか? –
私はその解決策を見つけられませんでした。解決策を見つけたら教えてください。 ありがとう、 – Sriraman
ちょうど@ stevenのソリューションを試しました。私のユースケースのために働いています。今私はそれを正しい解決策としてマークしました。 – Sriraman