我知道要使用
navigation.navigate('screen', {someProps: ...})
当需要导航到另一个屏幕时。
但是,当我单击标题标签而不是在原始屏幕上时,在我的堆栈导航器中会调用我正在浏览的屏幕(因此,我无权传递道具)
const HomeStack = createStackNavigator();
function HomeStackScreen({ navigation }) {
return (
<HomeStack.Navigator>
<HomeStack.Screen name="Goal Details" component={GoalDetails}
options={{
headerRight: () => (
<Button
onPress={() => navigation.navigation('Edit Goal')}
title="Edit"
color="white"
/>
),
}}/>
<HomeStack.Screen name="Edit Goal" component={EditGoal} />
</HomeStack.Navigator>
);
}
以上代码是在App.js中定义的,我不确定如何将与目标相关的信息(已加载在GoalDetails.js中)提供给EditGoal。我正在考虑只单击一个按钮,以便我可以在GoalDetails中导航,而不是在App.js中定义它,但我也想使用标题栏中的空格。
谢谢