同じ画面に移動しますが、異なるパラメータで移動します。 そうMyRouteName
に私をナビゲートするが、異なるのparamsを持つ必要があるボタンをクリックし、この画面にMyRouteName
react-navigation:同じRouteNameに移動しますが、異なるパラメータで移動します。
- ナビゲートを想像してみてください。
現在、私は
this.props.navigation.navigate('MyRouteName', {param1: 'new val'})
と
const setParamsAction = NavigationActions.setParams({
params: { param1: 'new val'},
key: 'mrn-new_val',
})
this.props.navigation.dispatch(setParamsAction)
にどちらの仕事をしようとしました。私が見つけたドキュメントやgithubの問題は、これに関する明確なガイダンスを提供していません。
これはどのように達成できますか?
更新:
以下のコメントに反応して、私は私の最終的な実装に基づくDrawerNavigator
// MyDrawer.js
// ...
const MyDrawer = DrawerNavigator(
{
MyRouteName: {
screen: MyScreen,
},
},
{
initialRouteName: 'MyRouteName',
contentOptions: {
activeTintColor: '#e91e63',
},
contentComponent: props => <DrawerScreen {...props}/>,
}
);
export default MyDrawer;
// MyScreen.js
class MyScreen extends React.Component{
//..
//.. stuff goes here
//..
drillDown(newVal){
const setParamsAction = NavigationActions.setParams({
params: { param1: newVal },
key: 'ms-${newVal}',
})
this.props.navigation.dispatch(setParamsAction)
}
//..
//.. more stuff
//..
}
につながる、私のルートとして積み重ねNavigatorを使用しています@ benneygenelさんの答えです。
const MyDrawer = DrawerNavigator({
MyRouteName: {
screen: StackNavigator({
DrillDown:{
screen: MyScreen,
},
}, {
headerMode: 'none',
}),
},
});
は
ナビゲータからスニペットを投稿できますか?スタックまたはタブナビゲータを使用していますか? – bennygenel
@bennygenel上記のコードを更新しました。 –