【发布时间】:2018-06-22 15:35:52
【问题描述】:
当我点击 TouchableOpacity 时,如何导航到不同的屏幕 (CourseDetail.js)。我为此使用StackNavigator。但收到错误undefined is not an object evaluating this.props.navigation。我在下面粘贴我的代码。请帮忙。我知道有一个简单的错误,但无法弄清楚。
HomeScreen.js
import CourseDetail from './CourseDetail';
import { StackNavigator } from 'react-navigation';
const HomeScreen = ({course, navigation}) =>{
const {name,featured_image,id} = course;
const {navigate} = this.props.navigation;
return(
<TouchableOpacity onPress={() => navigate('CourseDetail', {id})}>
<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({
Home:{
screen: HomeScreen
},
CourseDetail:{
screen: CourseDetail
}
});
export default HomeScreen;
【问题讨论】:
-
尝试使用-导出默认ScheduledApp
-
我在我的主页中导入
HomeScreen..那么我可以使用export default ScheduledApp吗?? -
Yes.. 它将引用您在该函数中定义的路由名称。请在此处查看 - reactnavigation.org/docs/intro/quick-start
-
我的问题是我有一个
TabNavigator,当我点击侧边栏时,我想导航到HomeScreen,然后点击卡片,想去CourseDetail页面。那么如何在选项卡导航器中使用堆栈导航器?
标签: javascript react-native navigation stack-navigator touchableopacity