如何在 React Native 中使用 TouchableOpacity 从卡片列表中导航?
How to navigate from a card list using TouchableOpacity in react native?
大家好,我正在尝试使用 TouchableOpacity
单击 card
(列表视图)进行导航。我还想传递 cat_id
(从服务器返回的响应)连同这个(到CourseDetail页面)?这可能吗?下面是我的代码,但我收到错误“无法找到变量导航”。请帮忙...
HomeScreen.js
const HomeScreen = ({course}) =>{
const {name,featured_image,cat_id} = course;
return(
<TouchableOpacity onPress={() =>navigate("CourseDetail")}>
<Card>
<CardSection>
<View style={styles.thumbnailContainerStyle}>
{course.term_id == '28' ? (<View></View>) : (
<Text style={styles.userStyle}>{name}
</Text> )}
</View>
</CardSection>
</Card>
</TouchableOpacity>
);
};
const ScheduledApp = StackNavigator({
CourseDetail:{
screen: CourseDetail
}
});
您应该进行以下更改。您需要通过导航访问导航方法,然后才能在功能组件中执行此操作(因为不再有 this.props)声明您的导航道具。
此外,您还可以在屏幕之间传递道具。导航函数的第二个参数被传递,通过添加您的参数,您可以在导航页面中以以下形式访问它们:navigation.state.params.cat_id
。 (请注意,如果该页面是 class,则需要编写 this.props.navigation.state.params.cat_id
)
const HomeScreen = ({course, navigation}) =>{
const {name,featured_image,cat_id} = course;
return(
<TouchableOpacity onPress={() => navigation.navigate("CourseDetail", { cat_id })}>
大家好,我正在尝试使用 TouchableOpacity
单击 card
(列表视图)进行导航。我还想传递 cat_id
(从服务器返回的响应)连同这个(到CourseDetail页面)?这可能吗?下面是我的代码,但我收到错误“无法找到变量导航”。请帮忙...
HomeScreen.js
const HomeScreen = ({course}) =>{
const {name,featured_image,cat_id} = course;
return(
<TouchableOpacity onPress={() =>navigate("CourseDetail")}>
<Card>
<CardSection>
<View style={styles.thumbnailContainerStyle}>
{course.term_id == '28' ? (<View></View>) : (
<Text style={styles.userStyle}>{name}
</Text> )}
</View>
</CardSection>
</Card>
</TouchableOpacity>
);
};
const ScheduledApp = StackNavigator({
CourseDetail:{
screen: CourseDetail
}
});
您应该进行以下更改。您需要通过导航访问导航方法,然后才能在功能组件中执行此操作(因为不再有 this.props)声明您的导航道具。
此外,您还可以在屏幕之间传递道具。导航函数的第二个参数被传递,通过添加您的参数,您可以在导航页面中以以下形式访问它们:navigation.state.params.cat_id
。 (请注意,如果该页面是 class,则需要编写 this.props.navigation.state.params.cat_id
)
const HomeScreen = ({course, navigation}) =>{
const {name,featured_image,cat_id} = course;
return(
<TouchableOpacity onPress={() => navigation.navigate("CourseDetail", { cat_id })}>