我是一个反应原生的新手。我想实现的是,我想在使用pressable的同时在屏幕之间导航。我所做的是,我已经在buttons.js文件中创建了可按下的按钮组件。我现在想要的是,当我在文件中调用该组件时,我想将屏幕名称作为道具传递给该按钮组件,并使用该主组件在屏幕之间导航。简言之,我的意思是,每当屏幕名称从不同的文件传递时,它都会根据该文件进行操作,而不必在每个文件中创建多个导航。
E.g内部主文件
<ButtonXsPrimary
title='Login'
/>
Buttons.js文件内部
const ButtonXsPrimary = (prop) => {
const navigation = useNavigation();
return (
<>
<Pressable style={[style.buttonXs, Color.bgSecondry]} onPress={() => navigation.navigate(prop)} >
<Text style={[Color.White, style.buttonsTextSm]}>{prop.title}</Text>
</Pressable>
</>
);
};
相同的标题道具用于导航
据我所知,
- 您需要将导航和路线名称作为道具传递到ButtonXsPrimary中,如
<ButtonXsPrimarytitle=";登录";navigation={navigation}routeName={'YourRouteName'}/>
-
访问道具
onPress={((=>prop.navigation.anavigation(prop.routeName(}